考虑一下我们有这样的模型
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
的相同代码的副本?
答案 0 :(得分:1)
不。
models.ForeignKey()从外键类创建一个新对象。
也许你可以在 init 中做一些事情,但这会导致更多代码阻塞,而像南方这样的第三方工具可能会出错。