【问题标题】:Django CommandError: App 'polls' has migrationsDjango CommandError:应用程序“民意调查”有迁移
【发布时间】:2014-08-04 14:02:13
【问题描述】:

尝试按照Django project 的教程进行操作。

我遇到的问题是执行命令时: python manage.py sql polls我收到错误:

CommandError:应用程序“投票”有迁移。当应用有迁移时,只能使用 sqlmigrate 和 sqlflush 命令

到目前为止,我似乎无法在 Internet 或此网站上找到任何有关该程序解决方案的指南。

【问题讨论】:

  • 你确定你使用的是 django 1.6 吗? INSTALLED_APPS 设置的值是多少?谢谢。
  • 我现在使用 django 1.8,需要 1.6 吗? INSTALLED_APPS = ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles' , '民意调查')
  • 我在使用 Django 1.7.2 运行 PyCharm Django tutorial 时遇到此错误,本教程目前假定使用 Django 1.6.5。

标签: python django migration database-migration manage.py


【解决方案1】:

问题是您在学习 1.6 教程时使用的是 Django 1.8。注意tutorial开头的第一个字:

本教程是为 Django 1.6 和 Python 2.x 编写的。如果姜戈 版本不匹配,您可以参考您的版本的教程 使用 Django 右下角的版本切换器 此页面,或将 Django 更新到最新版本。

在你的情况下,要么降级到 1.6,要么使用tutorial for the development (currently 1.8) version

【讨论】:

    【解决方案2】:

    您可以运行python manage.py makemigration,然后运行python manage.py migrate,或者只删除迁移文件夹

    【讨论】:

    • 迁移文件夹有什么用?在这种情况下,什么是迁移
    • 命令是 python manage.py makemigrations 不是 makemigration
    【解决方案3】:

    只需删除文件夹app-name/migrations

    Django 1.7Python 3.4 中,我找到的解决方案是删除此文件夹,现在一切正常。

    【讨论】:

    • 这充其量是笨拙的。迁移是 Django 不可或缺的一部分,你应该学会使用它们,而不仅仅是删除东西并希望最好。
    • 虽然 eykanal 是对的,但我遇到了类似的问题,这只是最快的答案。有时,黑客可以使您的生活更轻松。 有时。
    【解决方案4】:

    使用 django 1.7,而不是删除 app-name/migrations 文件夹,在您站点的 MIGRATION_MODULES 条目中,您可以通过添加一些虚拟字符串来使用不存在的模块名称重命名应用程序字典值:

    MIGRATION_MODULES['my_app'] += '_xx'

    然后 manage.py sqlclear my_app 工作正常。

    【讨论】:

      【解决方案5】:

      在 Django 1.8 中,您应该运行另一个命令——makemigrations [您的应用名称]:

      $ python manage.py makemigrations polls
      

      您应该会看到类似于以下内容的内容:

      Migrations for 'polls':
        0001_initial.py:
          - Create model Question
          - Create model Choice
          - Add field question to choice
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 2023-03-07
        • 2010-12-29
        • 2015-08-09
        • 1970-01-01
        相关资源
        最近更新 更多