Django投票教程:应用polls未检测到更改
我正在学习Django的投票应用教程,尝试运行命令“python manage.py makemigrations polls”,但每次都收到“在'app 'polls'中未检测到更改”的消息。
我不明白我哪里做错了,或者我应该怎么做才会有所不同,也不明白这个消息是什么意思。
为了更清楚:
我期待看到一些类似于教程中打印出来的内容:
Migrations for 'polls':
0001_initial.py:
- Create model Question
- Create model Choice
然后在教程的后面,当它让我输入命令python manage.py sqlmigrate polls 0001
时,我希望能看到一些类似于展示的内容(这个内容相当长)。我是在这个教程上学习的:https://docs.djangoproject.com/en/1.7/intro/tutorial01/
但实际上,我得到的是
CommandError: Cannot find a migration matching 'polls' form app '0001'. Is it in INSTALLED_APPS?
2 个回答
1
我遇到了同样的错误,后来发现是因为我的VSCode没有开启自动保存功能,因为这是我新安装的VSCode。如果按照教程正确操作,唯一可能出错的地方就是在运行迁移之前,'polls'文件夹里的models.py文件没有正确保存。
5
问题的根本原因是,在进行迁移之前,models.py 文件没有填写完整。它应该是这样的。
models.py 文件:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
另外,确保在你的 'settings.py' 文件中,'INSTALLED_APPS' 里有列出 'polls'。