将list_filter与中介模型一起使用

时间:2009-08-20 23:15:06

标签: python django django-admin

我们有三个模型,Artist

class Artist(models.Model):
    family_name = models.CharField(max_length=50)
    given_name = models.CharField(max_length=50)

Group

class Group(models.Model):
    name = models.CharField(max_length=50)
    members = models.ManyToManyField(Artist, through='Membership')

Membership

class Membership(models.Model)
    artist = models.ForeignKey(Artist)
    group = models.ForeignKey(Group)
    joined = models.DateField()    

Membership是一个连接ArtistGroup的中间模型,其中包含一些额外数据(加入日期等)我被要求查看是否可以根据他们的群组过滤艺术家但我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:1)

如果您使用through = Membership定义艺术家和群组之间的m2m,则可以直接在群组上设置过滤器,而无需通过会员资格。不记得语法是否

list_filter = ['group']

list_filter = ['group_set']

或类似的东西。