【发布时间】:2012-03-10 17:48:44
【问题描述】:
给定一个现有的 Django 模型:
class MyModel(models.Model):
field1 = ...
field2 = ...
...
fieldN = ...
我想创建一个完全独立的模型,如下所示:
class MyModel2(models.Model):
field1 = ...
field2 = ...
...
fieldN = ...
fieldA = ...
fieldB = ...
...
fieldZ = ...
多表继承对我不起作用,因为我希望 MyModel2 由包含其所有字段的数据库表支持,而不仅仅是额外的字段以及指向 MyModel 表的链接。
如果我可以更改 MyModel 的定义,那么定义抽象基类可能会起作用。但是还有其他方法吗,可能使用 Python type 元类?
【问题讨论】:
-
我会使用抽象基类。元类魔法太聪明了。
标签: python django inheritance model