Django模型继承

时间:2014-07-07 14:36:41

标签: python django python-2.7 django-models

考虑一下我们有这样的模型

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,只需更改子项中的related_name。

可以这样做,还是应该使用具有不同related_name的相同代码的副本?

1 个答案:

答案 0 :(得分:1)

不。

models.ForeignKey()从外键类创建一个新对象。

也许你可以在 init 中做一些事情,但这会导致更多代码阻塞,而像南方这样的第三方工具可能会出错。