想请教如何在Admin中实现动态过滤。我知道如何在管理员中使用 django-smart-selects 但我猜它只适用于 FK 而不是多对多模型。
我想实现,当我在管理员中创建一个 ART 并选择类别时,它只会过滤属于该类别的艺术家,另外,当我在创建艺术时选择艺术家时,它会过滤属于该艺术家的那些收藏。
我可以让 Artists & Collections 与 django-smart-selects 一起使用,但艺术家和类别不是因为它们是多对多的。
请帮忙。谢谢
模型.py
class Category(models.Model):
title = models.CharField(max_length=200)
title_url = models.SlugField(max_length=200)
def __unicode__(self):
return self.title
class Artist(models.Model):
category = models.ManyToManyField(Category)
title = models.CharField(max_length=200)
title_url = models.SlugField(max_length=200)
def __unicode__(self):
return self.title
class Collection(models.Model):
artist = models.ForeignKey(Artist)
title = models.CharField(max_length=200)
title_url = models.SlugField(max_length=200)
def __unicode__(self):
return self.title
class Art(models.Model):
category = models.ForeignKey(Category)
artist = models.ForeignKey(Artist)
collection = models.ForeignKey(Collection)
title = models.CharField(max_length=200)
title_url = models.SlugField(max_length=200)
def __unicode__(self):
return self.title