我正在遵循2.2教程,编写第一个Django应用程序,第2部分。我像本教程一样在Question
文件中创建了模型Choice
和polls/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, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
我在mysite/settings.py
文件中激活了轮询应用程序。
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
然后我运行命令makemigrations,但是在输出中缺少“-向选项中添加字段问题”。
$ python manage.py makemigrations polls
Migrations for 'polls':
polls/migrations/0001_initial.py
- Create model Question
- Create model Choice
我正在使用以下版本:
/mysite$ pip freeze
Django==2.2.2
pkg-resources==0.0.0
pytz==2019.1
sqlparse==0.3.0
/mysite$ python --version
Python 3.7.3
我从头开始了整个教程。取消该项目并开始另一个失败的项目。
答案 0 :(得分:0)
如果我正确理解了您的问题,则表示您在运行python manage.py makemigrations polls
时,会根据教程获得以下输出:
Migrations for 'polls':
polls/migrations/0001_initial.py:
- Create model Choice
- Create model Question
- Add field question to choice
但是,您得到了以下输出:
Migrations for 'polls':
polls/migrations/0001_initial.py
- Create model Question
- Create model Choice
您不必担心缺少的- Add field question to choice
输出。您没有遇到错误,一切似乎都井井有条。继续本教程。您将很快将模型表迁移到数据库,然后再迁移到play with the api。只要在外壳程序中浏览API时获得预期的输出,就可以正常工作。
一般而言,请记住,教程中显示的终端输出可能会因多种因素而略有不同,因此,如果情况不完全匹配,只需确保实际功能您正在实施的程序正在工作。
答案 1 :(得分:0)
我也一样 我正在从在线教程中学习, 我在迁移文件夹中看到了他的0001_initial.py文件 我的addfield丢失了,所以我复制了它。 现在显示相同的结果。 删除操作并将其粘贴:
operations = [
migrations.CreateModel(
name='Question',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('question_text', models.CharField(max_length=200)),
('pub_date', models.DateTimeField(verbose_name='date published')),
],
),
migrations.CreateModel(
name='Choice',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('choice_text', models.CharField(max_length=200)),
('votes', models.IntegerField(default=0)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='polls.Question')),
],
),
migrations.AddField(
model_name='choice',
name='question',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='polls.Question'),
preserve_default=True
)
]