Django - 如何将所有字段定义从一个模型复制到另一个模型而不继承

时间:2012-09-14 20:30:34

标签: django django-models

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

有什么建议吗?

2 个答案:

答案 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/