2014-04-14 106 views
1

說我有在Django以下模型:Django的自參照模型過濾器外鍵

class Category(models.Model): 
    parent = models.ForeignKey('self', null=True, blank=True) 

有沒有辦法阻止引用到同一類別?右django生成管理區域中的選擇字段,可以選擇與父類相同的類別。有什麼方法來過濾管理中的選擇嗎?

+0

你有沒有想辦法避免這種情況? – bcsanches

回答

2

使用ForeignKey.limit_choices_to - 看有沒有提供documentation here

你有足夠的代碼片段,看看如何將你的情況來完成,但我猜對parent ForeignKey的是,你要限制選擇一個lambda函數來檢查類別的名稱是否與引用的名稱相同。

您可能需要一個lambda函數,而不是一個表達式。