2016-03-15 74 views
0

安裝和同步數據庫後,我已將此添加到我的模型:Django的評級錯誤:未知列「resources_resources.ratings_votes」在「字段列表」

rating = RatingField(range=5) 

,並得到了錯誤:

Unknown column 'resources_resources.rating_votes' in 'field list' 

Docs說:「Django評分的建立方式要求您爲您的模型添加一個評分欄,該欄會創建兩列,一列投票欄和一個評分欄,它們都會以您的欄目​​名稱作爲前綴」

我檢查了數據庫,並創建了表ratings_score和ratings_vote,但沒有列添加到模型中,我添加了RatingField(不知道是否應該將列添加到模型的數據庫中)。

我在想什麼?我相信我正確地遵循了教程。我在Django 1.6上。如果有任何手動解決方案來實現這一目標,它也會有所幫助。

回答

0

Django遷移僅在Django 1.7中添加,並且您正在運行1.6。

如果您使用RatingField創建新模型,那麼當您運行syncdb時,Django可能會創建數據庫列。但是,將這些列添加到現有模型並不容易。

請注意,GitHub page表示不再保留Django評級。最後的提交是在幾年前。

+0

我用python manage.py syncdb完全按照文檔中的說法。我知道Django 1.6中沒有可用的遷移。如果手動在模型表上創建列將解決問題,我會這樣做。只需要這些列的更多信息。 – user285943

+0

我的觀點是,syncb只會創建表,如果它還不存在,它不會將列添加到現有的模型。在編制如何手動添加列時,您可能會發現'python manage.py sqlall '很有用。 – Alasdair

+0

我檢查sqlall並得到了這一點:http://paste.ofcode.org/hTTWvpkXkXDFTvfWtbzPJh 也創造了這4個表,但我沒有看到在模型中的列如何將任何暗示。 – user285943

相關問題