如何在Django Queryset中表达此SQL查询?
SELECT * FROM Table1, Table2 WHERE Table1.id_table2 = Table2.id_table2;
请注意table1
的结构意味着id_table2
外键......
为什么呢?因为我想将id_table2
Table1
列表中的table1.object.all()
替换为与关系中涉及的寄存器相关联的值。喜欢这个
没有关系
| id_table1 | id_table2 | foo_field1 | bar_field1 |
---------------------------------------------------
| 1 | 1 | foo1 | foo2 |
---------------------------------------------------
有关系
| id_table1 | foo_field2*| foo_field1 | bar_field1 |
----------------------------------------------------
| 1 | foo2 | foo1 | foo2 |
----------------------------------------------------
请注意,foo_field2
不仅表示此相关字段,还表示该寄存器的所有相关字段。
答案 0 :(得分:0)
您无法使用Django ORM执行该查询。您可以做的最好的事情是使用select_related()
同时拉出另一个表的字段:
Table1.objects.select_related('table2')