2014-07-07 31 views
0

考慮,我們有這樣的Django模型的傳承

class A(Models.model): 
    .... 

class B(A): 
    .... 
    x = models.ForeignKey(B, related_name="rn1") 
    .... 

class C(A): 
    .... 
    x = models.ForeignKey(B, related_name="rn2") 
    .... 

模型觀察這兩個領域上面的related_name只是差限定了同樣的事情。我覺得這部分也可以以某種方式轉移到class A,只需更改children中的related_name即可。

這樣做還是應該使用不同的related_name相同的代碼的副本?

+0

如果它是'ManyToManyField',那麼你的思想_might_可以工作,但由於它是'ForeignKey',它是1:n的關係,反過來工作方式也不一樣。 – karthikr

回答

1

沒有。

models.ForeignKey()從外鍵類創建一個新對象。

也許你可以做些什麼init但這會導致更多的代碼塊和一些第三方工具,如南可能會給出錯誤。