Django 多对多:从文章列表中获取类别列表
Django many-to-many: Get a list of categories from a list of articles
为了简单起见,假设我只有 3 个模型:文章、类别、作者。
class Author(models.Model):
name = models.CharField(max_length='100')
...
class Categories(models.Model):
name = models.CharField(max_length='100')
...
class Articles(models.Model):
name = models.CharField(max_length='100')
author_id = models.ForeignKey(Author)
categories = models.ManyToManyField(Categories)
...
我按 author_id list_article = Articles.objects.filter(author_id=author_id)
筛选文章列表
我的问题是,如何从 'list_article' 中检索 'Categories' 的列表?
谢谢。
您可以将 in
与文章列表一起使用:
Category.objects.filter(articles__in=list_article)
或者直接给作者做连接:
Category.objects.filter(articles__author_id=author_id)
为了简单起见,假设我只有 3 个模型:文章、类别、作者。
class Author(models.Model):
name = models.CharField(max_length='100')
...
class Categories(models.Model):
name = models.CharField(max_length='100')
...
class Articles(models.Model):
name = models.CharField(max_length='100')
author_id = models.ForeignKey(Author)
categories = models.ManyToManyField(Categories)
...
我按 author_id list_article = Articles.objects.filter(author_id=author_id)
我的问题是,如何从 'list_article' 中检索 'Categories' 的列表?
谢谢。
您可以将 in
与文章列表一起使用:
Category.objects.filter(articles__in=list_article)
或者直接给作者做连接:
Category.objects.filter(articles__author_id=author_id)