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.