我的人物模型在这里:
class person(models.Model):
interests = models.ManyToManyField(Ineterest, default=None)和兴趣模型:
class Interest(models.Model):
interest = models.CharField(max_length=100)文章模型在这里:
class Article(models.Model):
category = models.ManyToManyField(Interest, default=None)我只想以分类的形式过滤文章,有一个与之相关的所有文章的列表。示例是:[{'category': 'Finance', 'articles': ['article obj-1', 'article obj-2']}, {'category': 'Business', 'articles': ['article obj-1', 'article obj-2', 'article obj-3']}]
发布于 2020-12-09 14:44:09
可以通过访问反向多对多来完成。需要使用prefetch_related来避免进行多个查询。
qs = Interest.objects.prefetch_related('article_set')
[{'category': i.interest, 'articles': [a for a in i.article_set.all()]} for i in qs]https://stackoverflow.com/questions/65167261
复制相似问题