2010-03-05 100 views
1

如何在Django Queryset中表示此SQL查詢?Django,關係查詢集

SELECT * FROM Table1, Table2 WHERE Table1.id_table2 = Table2.id_table2; 

注意的table1結構implyes一個id_table2外鍵...

爲什麼?因爲我想用列表中的id_table2替換Table1table1.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

您無法使用Django ORM執行該查詢。您可以做的最好的是使用select_related()也可以同時爲其他表格拖動字段:

Table1.objects.select_related('table2')