Django投票教程:应用polls未检测到更改

4 投票
2 回答
8053 浏览
提问于 2025-04-18 14:51

我正在学习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'。

撰写回答