2012-07-07 54 views
2

我有一个名为MyModel的元类。Django-Nonrel:非关系数据库不支持多表继承

我也有2个常规模型类名为NodeAuthorAuthor继承自MyModel,并且Node没有。 (NodeAuthor按预期正常工作。)

我想更改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

你重置了应用程序并完成了syncdb吗? – Rohan 2012-07-07 06:44:05

回答

5

django-nonrel不支持多表继承。

如果为MyModel从django.db.models.Model继承和节点作者继承为MyModel,那么你有一个多表继承(即使为MyModel没有字段) 。

您可以通过制作MyModelabstract base class来避免此情况。