首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不影响旧迁移文件的情况下,用Django-2升级wagtail-2。我得到这个'NoneType‘对象没有属性'is_relation’

在不影响旧迁移文件的情况下,用Django-2升级wagtail-2。我得到这个'NoneType‘对象没有属性'is_relation’
EN

Stack Overflow用户
提问于 2018-05-25 07:42:05
回答 1查看 496关注 0票数 1

我正在尝试将wagtail-1.9升级到wagtail-2.0,将Django-1.10.6升级到Django-2.0,但我得到了这个错误。

代码语言:javascript
复制
    delay = not old_field.is_relation
    AttributeError: 'NoneType' object has no attribute 'is_relation'

我不想删除或重置我的旧迁移文件,因为如果我删除旧迁移文件或重置它,我将丢失数据。

这是错误的全部细节。

代码语言:javascript
复制
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, core, faq, home, mailqueue, sessions, taggit, testimonial, wagtailadmin, wagtailcore, wagtaildocs, wagtailembeds, wagtailforms, wagtailimages, wagtailredirects, wagtailsearch, wagtailusers
Traceback (most recent call last):
      File "manage.py", line 11, in <module>
        execute_from_command_line(sys.argv)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
        utility.execute()
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/core/management/__init__.py", line 365, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/core/management/base.py", line 335, in execute
        output = self.handle(*args, **options)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 159, in handle
        pre_migrate_state = executor._create_project_state(with_applied_migrations=True)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/db/migrations/executor.py", line 79, in _create_project_state
        migration.mutate_state(state, preserve=False)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/db/migrations/migration.py", line 85, in mutate_state
        operation.state_forwards(self.app_label, new_state)
      File "/home/razia/.virtualenvs/web-dj2/lib/python3.6/site-packages/django/db/migrations/operations/fields.py", line 144, in state_forwards
        delay = not old_field.is_relation
    AttributeError: 'NoneType' object has no attribute 'is_relation'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-11 13:26:30

迁移有时需要一些人工干预。如果您正在单独执行一个项目,您可以宣布“迁移破产”,并在不丢失数据的情况下从零开始重新创建迁移,方法是运行新创建的带有-假冒伪劣的初始选项的迁移。

这里还有更多的细节,我建议先阅读一下:

https://docs.djangoproject.com/en/2.0/topics/migrations/#initial-migrations

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50523965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档