2012-07-07 58 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來避免此情況。