2015-07-20 175 views
0

我正在从Django1.7-> Django1.8升级我的应用程序,但我无法进行任何更改,甚至无法运行迁移,因为每当我看到以下系统错误试图在1.8环境中执行任何迁移操作升级到Django1.8 - 无效related_name的字段

ERRORS: 
content.Content.polymorphic_ctype: (fields.E306) The name 'polymorphic_content.content_set' is invalid related_name for field Content.polymorphic_ctype 
    HINT: Related name must be a valid Python identifier or end with a '+' 
content.Tag.polymorphic_ctype: (fields.E306) The name   'polymorphic_content.tag_set' is invalid related_name for field Tag.polymorphic_ctype 
    HINT: Related name must be a valid Python identifier or end with a '+' 
promotion.PZoneOperation.polymorphic_ctype: (fields.E306) The name 'polymorphic_promotion.pzoneoperation_set' is invalid related_name for field  PZoneOperation.polymorphic_ctype 
    HINT: Related name must be a valid Python identifier or end with a '+' 
reviews.MediaItem.polymorphic_ctype: (fields.E306) The name 'polymorphic_reviews.mediaitem_set' is invalid related_name for field MediaItem.polymorphic_ctype 
    HINT: Related name must be a valid Python identifier or end with a '+' 

的问题是,这些应用程序的3依赖的一部分,并且已经更新了3场的related_name0001_initial.py迁移与+结束,但由于系统错误,我无法恢复原状。如何进行更新时遇到种种损失。

回答

1

尝试使用manage.py makemigrations <appname>删除并重新生成每个应用的迁移。

0

升级后我也遇到了迁移问题。如果擦你的整个数据库,并从从头重新填充它是一个选项,试试这个(清洁DB后): 1)对于每个应用 2)运行./manage.py migrate 3)运行./manage.py syncdb

运行 ./manage.py makemigrations app_name