2011-03-14 6 views
0

내 admin.py에는이 데이터를 최신 날짜순으로 정렬하는 방법이 있습니까? 아래에서 볼 수 있듯이 사전 순으로 정렬됩니다.Django admin sorting

--- 모델 :

class Tag(models.Model): 
     name = models.CharField(max_length=48, unique=True) 
     data = models.ManyToManyField(Product) 
     def __unicode__(self): 
       return self.name 

--- 관리자 :

class TagAdmin(admin.ModelAdmin): 
     pass 
admin.site.register(Tag, TagAdmin) 

답변

2

할 수 있습니다 formfield_for_manytomany

class TagAdmin(admin.ModelAdmin): 
    def formfield_for_manytomany(self, db_field, request, **kwargs): 
     if db_field.name == "data": 
      kwargs["queryset"] = Product.objects.order_by('date_created') 
     return super(TagAdmin, self).formfield_for_manytomany(db_field, request, **kwargs) 

를 통해 M2M 분야에 사용되는 검색어 세트를 오버라이드 (override) 당신이 글로벌, 비 adm 특정 순서에, 당신은 나에게 이해가되지 않는 당신의 model manager.

class MyManager(models.Manager): 
    def get_query_set(self): 
     return super(MyManager, self).get_query_set().order_by('date_created') 
     # this would affect any ordering using this model including admin. 
+0

장고 문서에 get_query_set을 대체 할 수 있습니다. – pythondjango

+0

어딘가에 설명이 필요합니까? 내가 도울 수있어 –

+0

위에서 붙여 넣은 코드에서 무엇이 바뀔까요? – pythondjango