2013-02-15 93 views
3

對不起,如果這是一個愚蠢的問題,但我是一個Django新手而且找不到答案。反向自引用Django中的外鍵

我有一個自引用場的訂貨型號:

source = models.ForeignKey(
    'self', 
    help_text = "[redacted]", 
    verbose_name = "Source Order", 
    blank = True, 
    null = True, 
) 

雖然這工作得很好,如果我有一個訂單,我想知道它的來源,我還需要獲得訂單的列表「子女」 - 即本訂單的來源訂單清單。這是否需要通過filter()來完成,還是有一個很好的Django-y方式來完成它?

回答

5

如果你有一個Order對象,你可以使用reverse relationship

child_orders = my_order.order_set.all() 

你可能想給source領域更具描述性的related_name值將代替上述order_set使用。

+0

這樣做,它聽起來像一個正確的答案(TM)了。謝謝! – charredUtensil 2013-02-15 20:57:25