2017-03-12 19 views
0

私はモデルとグループを持っています。管理ページでは、特定の役割を持つグループのメンバーを表示したいと思います。それを作る方法?デフォルトでadminはグループの全メンバーを表示します。管理対象のフィルタオブジェクト

models.py

class Group(models.Model): 
    members = models.ManyToManyField(User, through='Membership',) 

class Membership (models.Model): 
    user = models.ForeignKey(User, on_delete=models.CASCADE,) 
    project = models.ForeignKey(Project, on_delete=models.CASCADE) 
    role = models.CharField(max_length=20, choices=ROLE_CHOICES,) 

admin.pythe documentationパー

class MembershipInline(admin.TabularInline): 
    model = Membership 
    form = MembershipAdminForm 
    extra = 1 
    max_num = 1 


class MembershipAdmin(admin.ModelAdmin): 
    inlines = (MembershipInline,) 

admin.site.register(Group, MembershipAdmin) 

答えて

1

get_queryset()含むTabularInline shares methods with ModelAdmin

class MembershipInline(admin.TabularInline): 
    model = Membership 
    form = MembershipAdminForm 
    extra = 1 
    max_num = 1 

    def get_queryset(self, request): 
     qs = super(MembershipInline, self).get_queryset(request) 
     return qs.filter(role=some_query_here) 
+1

ありがとう!それだけが必要。 –

関連する問題