2013-05-09 89 views
0

我有兩個模型。父親和兒子模型。在兒子模型中的關係是:Django - 獲取具有多個對象的模型的最後一個對象

father = models.ForeignKey(Father, related_name="father") 

現在在真正的數據庫中,我有5個父親,每個父親有5個兒子。我想找到兒子,20

father = Father.objects.all() 
#how to find all sons with age 20? 

回答

1

年齡您的標題不完全匹配你的問題,你的問題是缺少信息。但是,這是你想要的嗎?

fathers = Fathers.objects.all() 
sons = Son.objects.filter(father__in=fathers, age=20) 

但是,假設所有的兒子有父親的,你可以只寫爲

sons = Son.objects.filter(age=20) 

如果您是從一個父親尋找所有的兒子20歲:

father = Fathers.objects.get(id=101) 
sons = Son.objects.filter(father=father, age=20) 

這是假設你有一個不同的父親和兒子的模型(這不是一個好的設計決策,但這是我從你的問題中瞭解到的)。

+0

謝謝。但這裏還有一個小問題。我可以編寫一個模型的方法,它需要參數並在模板中使用此方法?我可以做嗎? – doniyor 2013-05-09 14:29:14

+0

詢問這是一個單獨的問題,並閱讀堆棧溢出常見問題。 – Joe 2013-05-09 14:29:50

+0

(答案是否定的,您必須創建一個新的模板標籤或在視圖中調用該函數) – Joe 2013-05-09 14:30:47

相關問題