2013-05-17 26 views
10

我想實現一個具有自我依賴性的模型。說實例People_A可能依賴於People_B和People_C。 我首先用多對多的關鍵來實現這個模型。模型自我依賴(一對多域)實現

class People(models.Model): 

dependency = models. ManyToManyField ('self', blank=True, null=True) 

但結果是,如果People_A依賴於People_B將導致People_B也取決於People_A。這是我不想要的。

然後我用外鍵實現它。

class People(models.Model): 

dependency = models.ForeignKey('self', blank=True, null=True) 

但是這也行不通。如果People_A依賴於People_B,那麼其他人就無法依賴People_B。它將覆蓋與最新依賴關係的舊依賴關係。

任何線索將感謝

+3

只是澄清了ForeighKey:'如果People_A依賴於People_B,那麼沒有其他人可以依靠People_B'。其他人仍然可以依靠People_B,但People_A現在不能有其他依賴,比對People_B – stalk

+0

嗨,莖是對的。 – user2354910

回答

7

我認爲這是你在找什麼:

dependencies = models.ManyToManyField("self", symmetrical=False) 

docs的對稱。

+0

嗨,阿德里安,非常感謝〜這正是我需要的。 – user2354910

相關問題