2

我有一个名为MyModel.

我还有 2 个名为Node和的常规模型类AuthorAuthor继承自MyModelNode但不继承。(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

4

1 回答 1

5

django-nonrel 不支持多表继承。

如果MyModel继承自django.db.models.Model并且NodeAuthor继承自MyModel,那么你有一个多表继承(即使MyModel没有字段)。

您可以通过使MyModel成为抽象基类来避免这种情况。

于 2012-07-08T21:14:31.703 回答