简体   繁体   中英

Django CommandError: App 'polls' has migrations

Trying to follow the tutorial at Django project .

The problem I've come across is that when performing the command: python manage.py sql polls I'm given the error:

CommandError: App 'polls' has migrations. only the sqlmigrate and sqlflush commands can be used when an app has migrations

So far I can't seem to find any guide on the internet, or this website for a solution to the program.

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

The problem is that you are using Django 1.8 while going through 1.6 tutorial. Pay attention to the first words at the beginning of the tutorial :

This tutorial is written for Django 1.6 and Python 2.x. If the Django version doesn't match, you can refer to the tutorial for your version of Django by using the version switcher at the bottom right corner of this page, or update Django to the newest version.

In your case, either downgrade to 1.6, or use the tutorial for the development (currently 1.8) version .

Simply delete folder app-name/migrations .

In Django 1.7 and Python 3.4 the solution I found is to delete this folder and everything works now.

With django 1.7, instead of deleting app-name/migrations folder, In your MIGRATION_MODULES entry of your site, you can rename the application dictionary value with an non-existing module name by adding some dummy string:

MIGRATION_MODULES['my_app'] += '_xx'

And then manage.py sqlclear my_app works fine.

In Django 1.8, you should run another command--makemigrations [your app name]:

$ python manage.py makemigrations polls

You should see something similar to the following:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM