2017-09-11 6 views
0

다음과 같은 몇 가지 모델이 있습니다.Django 관리자는 테이블 내의 항목에 외래 키 필터를 제한합니다.

class Department(models.Model): 
     id = models.CharField(max_length=100,primary_key=true) 
     name = models.CharField(max_length=100) 

class User(models.Model): 
    id = models.CharField(max_length=100) 
    dept= models.ForeignKey(Department,on_delete=models.SET_NULL,null=True) 

class UserDisplay(VersionAdmin): 
    list_display = ['id','dept'] 
    list_filter=['dept'] 

약 100 개의 부서와 3 명의 사용자가 있다고 가정 해 보겠습니다. Django 관리자 패널에서 User 모델에 대한 필터를 클릭하면 100 개의 부서가 모두 표시됩니다. 이 테이블에서 사용하는 3 개 부서 만 표시되도록 필터를 제한하려면 어떻게합니까?

+0

확인해주십시오. - https://stackoverflow.com/questions/11660915/how-to-filter-data-queryset-in-django-admin-interface-by-string-length – anuragal

답변

1

이에 대한 RelatedOnlyFieldListFilter를 사용할 수 있습니다

class UserDisplay(dmin.ModelAdmin): 
    list_display = ['id','dept'] 
    list_filter=[('dept', admin.RelatedOnlyFieldListFilter)] 

참조는 here을 자세히 설명합니다.

+0

감사합니다. –

+1

완벽하게 작동합니다. 감사합니다. –