Django-ORM 左连接两个表的所有列

发布于 2024-10-27 04:38:25 字数 80 浏览 2 评论 0原文

我有两个表 A 和 B,我需要使用 django ORM(左连接)来获取两个表的所有列。

我是 Django 的新手,编程请帮忙。

i have two tables A and B, i need all the columns of both tables using django ORM(left join).

i am new bee to django and programming please help.

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

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

发布评论

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

评论(1

久光 2024-11-03 04:38:26

一种方法是在查询中使用 .values() 可调用(尽管您所要求的不是很清楚)。这返回一个查询字典,而不是一个查询集,但其行为更像是直接在数据库中完成 SQL 的左连接 - 即返回表 B 中包含空条目的行

。假设表 A 在模型文件中具有指向表 B 的外键。

TableA.object.filter(your filters here).values(tableA__field1, tableA__field2 , ... \
                                               tableB__field1, tableB__field2, etc). 

https://docs.djangoproject.com/en/1.3/topics/数据库/聚合/#values

One way is to use the .values() callable on your query (though what you are asking is not very clear). This returns a querydict, rather than a queryset, but behaves more like a left join done SQL directly into the database - i.e returns the rows with null entries from table B.

Assuming table A has a foreign key to table B in the models file.

TableA.object.filter(your filters here).values(tableA__field1, tableA__field2 , ... \
                                               tableB__field1, tableB__field2, etc). 

https://docs.djangoproject.com/en/1.3/topics/db/aggregation/#values

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文