2

想请教如何在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
4

0 回答 0