python - 如何有效地连接两个嵌套的 ForiegnKey 关系?
问题描述
在 Django 2.2 模型中,我有以下设置:
class Kiosk(Model):
newspapers = ForeignKey('Newspaper')
class Newspaper(Model):
articles = ForeignKey('Article')
class Article(Model):
pass
现在,我可以像这样在售货亭出售一份报纸的所有文章:
kiosk = Kiosk.objects.first()
articles = kiosk.newspapers.first().articles
我想要做的是获得一个 QuerySet(或 RelatedManager),涵盖信息亭出售的所有报纸上的所有文章。
我当然可以通过遍历报纸并在 for 循环中连接文章列表来实现这一点,但这似乎效率低下。
我怎样才能从 ORM 得到这个?
解决方案
您需要从文章开始。
articles = Article.objects.filter(newspaper__kiosk=my_kiosk)
推荐阅读
- reactjs - import' 和 'export' 只能出现在顶层 (5:2)
- r - ctree(partykit):如何在终端节点中显示水平箱线图以进行多元响应
- python - 尝试使用 Django 创建请求计数器时出现 JSONDecodeError
- javascript - 当我需要 quick.db 时出现 better_sqlite3.node 错误
- c# - 如何绕过 Twilio nuget 包错误?
- p5.js - p5.js 在 X 帧后更改对象颜色
- python - 为什么我的合并排序实现使用列表给出正确的结果,但在 numpy 数组上使用时给出不同(错误)的结果?
- dataset - chart.js - 堆叠的水平条数据集组织帮助请求
- php - 如何在 PHP 中使用 Cronjob 触发 URL?
- android - 图像不会随通话而改变