首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取分类形式的查询集,并在Django中包含项目列表

获取分类形式的查询集,并在Django中包含项目列表
EN

Stack Overflow用户
提问于 2020-12-06 19:02:10
回答 1查看 64关注 0票数 1

我的人物模型在这里:

代码语言:javascript
复制
class person(models.Model):
        interests = models.ManyToManyField(Ineterest, default=None)

和兴趣模型:

代码语言:javascript
复制
class Interest(models.Model):
        interest = models.CharField(max_length=100)

文章模型在这里:

代码语言:javascript
复制
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']}]

EN

回答 1

Stack Overflow用户

发布于 2020-12-09 14:44:09

可以通过访问反向多对多来完成。需要使用prefetch_related来避免进行多个查询。

代码语言:javascript
复制
qs = Interest.objects.prefetch_related('article_set')
[{'category': i.interest, 'articles': [a for a in i.article_set.all()]} for i in qs]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65167261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档