2

という名前のメタクラスがありMyModelます。

また、とという名前の2つの通常のモデルクラスがNodeありAuthorます。Authorから継承しMyModel、継承しNodeません。(NodeそしてAuthor期待通りに動作します。)

Nodeからも継承するように変更したいMyModelNodeからも継承するように変更しようとすると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

Multi-table inheritance is not supported by django-nonrel.

If MyModel inherits from django.db.models.Model and Node and Author inherit from MyModel, then you have a multi table inheritance (even if MyModel has no fields).

You can avoid this by making MyModel an abstract base class.

于 2012-07-08T21:14:31.703 に答える