我有一个名为MyModel
的元类。
我还有2个名为Node
和Author
的常规模型类。 Author
继承自MyModel
,而Node
则不会。 (Node
和Author
可以正常工作。)
我想更改Node
,以便它也继承自MyModel
。当我尝试更改Node
以便它也继承自MyModel
时,我收到以下错误:
raise DatabaseError("Multi-table inheritance is not "
TemplateSyntaxError: Caught DatabaseError while rendering: Multi-table inheritance is not supported by non-relational DBs.
我从数据库中删除了所有Node
个对象,但我仍然收到错误。实际上,我想删除Node
并重新实现它。如何让数据库识别Node
应该从MyModel
继承?
答案 0 :(得分:5)
django-nonrel不支持多表继承。
如果 MyModel 继承自 django.db.models.Model 且 Node 且作者继承自 > MyModel ,然后你有一个多表继承(即使 MyModel 没有字段)。
您可以通过将 MyModel 设为abstract base class来避免这种情况。