我们有三个模型,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
是一个连接Artist
和Group
的中间模型,其中包含一些额外数据(加入日期等)我被要求查看是否可以根据他们的群组过滤艺术家但我无法弄清楚如何做到这一点。
答案 0 :(得分:1)
如果您使用through = Membership定义艺术家和群组之间的m2m,则可以直接在群组上设置过滤器,而无需通过会员资格。不记得语法是否
list_filter = ['group']
或
list_filter = ['group_set']
或类似的东西。