2011-07-28 2 views
2

내 장고 관리자 페이지에서 필터 드롭 다운을 추가했습니다.ModelAdmin의 필터가 모든 레코드를 기본적으로 표시하지 않도록하려면 어떻게해야합니까?

class MyAdmin(admin.ModelAdmin): 
    list_filter = ('status',) 

기본적으로 관리자보기에서 모델로 이동하면 기본적으로 모든 레코드가 표시됩니다. 하지만 필터링하기를 원합니다 :

status="open" 

으로 표시하고 기본값으로 표시합니다. 달성 가능합니까? 내가 이해 올바른 경우

+2

가능한 복제본 http://stackoverflow.com/questions/851636/default-filter-in-django-admin/3783930#3783930 –

답변

0

나는 당신이 유일한 상태를해야하는 경우 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.ordering

을 ModelAdmin.ordering되어 필요한 생각 = '오픈'당신은 당신의 modeladmin https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset 에 대한 사용자 지정 기본 검색어 세트를 정의 할 수 있도록 목록 항목을 제한 한 수 상태 = '열림'. (주의) 그러나이 경우 다른 기록 (status! = 'open')은 관리자가 접근 할 수 없게됩니다.

-1

, 당신은 모델

class myManager(models.Manager): 
     return self.filter(status = 'open') 

    class myModel(models.Model): 
     ... 
     objects = myManager() 

에서 기본 모델 관리자를 다시 정의 할 수 있습니다하지만 난 더 우아한 방법이 생각합니다.

관련 문제