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