Django-如何在没有继承的情况下将所有字段定义从一个模型复制到另一个模型



我需要定义一个现有模型的extact副本,它有自己的表和所有列,而没有Django继承机制。否则,它使用OneToOne关系,并将所有重复的字段保留在父表中,这是我完全不需要的。我只是想避免重复第二个模型的模型字段和方法定义。

有什么建议吗?

一种方法是创建具有公共属性的抽象基础模型。然后在当前应用程序中创建一个与父模型对应的模型。

为具有相同基类(以及一些其他字段)的重复模型创建另一个模型。

虽然不优雅!

你看过Mixins吗?

使用它们,您可以将类的字段混合到Model类中,并且仍然可以从常规基类继承。您可以混合来自不同类的文件,从而可能形成一个良好的结构。

http://eflorenzano.com/blog/2008/05/17/exploring-mixins-django-model-inheritance/

最新更新