我需要使用它自己的表和所有没有Django继承机制的列来定义现有模型的extact副本。否则它使用OneToOne关系并保留父表中的所有重复字段,我绝对不需要。我只是想避免为我的第二个模型重复模型字段和方法定义。
有什么建议吗?
答案 0 :(得分:6)
一种方法是创建abstract base model with common attributes。然后在当前应用中创建一个与父模型相对应的模型。
为具有相同基类(以及其他一些字段)的重复模型创建另一个模型。
虽然不优雅!
答案 1 :(得分:0)
你看过Mixins吗?
使用它们,您可以将类的字段混合到Model类中,并且仍然可以从常规Base类继承。你可以混合来自不同类的文件,从而可以建立一个良好的结构。
http://eflorenzano.com/blog/2008/05/17/exploring-mixins-django-model-inheritance/