2013-04-02 93 views
0

我有Django中的兩個模型:其中一個是一堆條目,另一個模型是鏈接表 - 它基本上將一個條目映射到另一個條目,因此它有一個entry_a_id和一個entry_b_id字段......我如何編寫一個QuerySet查詢來正確選擇第一個條目的相關字段,然後是第二個?正確的查詢集查詢

===編輯===

下面是一個例子:

class Nodes(models.Model): 
    id = models.AutoField(primary_key=True) 
    name = models.CharField(max_length=45) 
    description = models.CharField(max_length=255) 

class Links(models.Model): 
    id = models.AutoField(primary_key=True) 
    node_a_id = models.ForeignKey('Nodes') 
    node_b_id = models.ForeignKey('Nodes') 

因此,隨着中說(或鍵入),我希望能夠弄清楚如何有一個最後的結果node_a_id,name,description,node_b_id,name,description根據Links模型。讓我知道你是否想讓我進一步澄清。

+0

您問題不清楚。你能包括你的模型的簡單定義和你想要的查詢結果嗎? – shx2

回答

0

我可能會誤解,但我在這裏。有一個Link對象:

>>> link = Links.objects.all()[0] 

你自動地訪問您的外交關係(node_a_idnode_b_id)的領域。有了這一點,你可以做到以下幾點:

>>> link = Links.objects.all()[0] 
>>> link.node_a_id.id 
1 
>>> link.node_a_id.name 
'Name for node A' 
>>> link.node_a_id.description 
'Description for node B' 
>>> link.node_b_id.id 
2 
>>> link.node_b_id.name 
'Name for node B' 
>>> link.node_b_id.description 
'Description for node B' 

作爲一個側面說明,有使用id爲您自動遞增的主鍵字段,因爲你沒有點免費:AutoFieldAutomatic primary key fields