从外键的另一侧接近模型

发布于 2024-09-26 11:14:49 字数 406 浏览 6 评论 0原文

使用Django 文档示例博客Entry 模型,如何获取所有具有 name = "a" 并且不与任何实例关联的 Blog 对象的查询集Entry 模型的?

用原始 (My)SQL 术语来说,Django ORM 相当于:

SELECT * FROM blog_table bt
WHERE bt.name='a' AND bt.id NOT IN (SELECT et.blog_id FROM entry_table et)

Working with Django docs' sample Blog and Entry models, how would one get a queryset of all Blog objects that have name = "a" and that are not associated with any instance of the Entry model?

In raw (My)SQL terms, what is the Django ORM equivalent of:

SELECT * FROM blog_table bt
WHERE bt.name='a' AND bt.id NOT IN (SELECT et.blog_id FROM entry_table et)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北方的韩爷 2024-10-03 11:14:49

您需要的是具有 name = "a" 并且没有任何关联条目的 Blog 实例列表。您可以通过以下方式执行此操作:

Blog.objects.filter(name = "a", entry = None)
#                   ^^^^        ^^^^^
#           <Match name>        <Should have no associated Entry instances>

What you need is a list of Blog instances that have name = "a" and do not have any associated entries. You can do this by:

Blog.objects.filter(name = "a", entry = None)
#                   ^^^^        ^^^^^
#           <Match name>        <Should have no associated Entry instances>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文