我无法在我的django应用程序中运行命令runserver。 它始终显示: 您有未应用的迁移;在应用之前,您的应用可能无法正常运行。 运行' python manage.py migrate'应用它们。
当我尝试迁移时,它会显示以下错误: 提高ValueError('数据库后端不接受0作为' ValueError:数据库后端不接受0作为AutoField的值。
这是我的models.py
中的代码class Category(models.Model):
category_name = models.CharField(max_length=128, unique=True)
category_alias = models.CharField(max_length=128, unique=True)
category_desc = models.TextField()
def __str__(self):
return self.category_name
class Question(models.Model):
#user = models.ForeignKey(User)
category = models.ForeignKey(Category)
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
class Answer(models.Model):
question = models.ForeignKey(Question)
answer = models.TextField()
def __str__(self):
return self.answer
class UserProfile(models.Model):
user = models.OneToOneField(User)
state = models.CharField(max_length=200, blank=True)
country = models.CharField(max_length=200, blank=True)
zipcode = models.CharField(max_length=200, blank=True)
def __str__(self):
return self.user.username
有人可以帮助我摆脱它。
文件0003_question_user.py中的代码:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('confession', '0002_userprofile'),
]
operations = [
migrations.AddField(
model_name='question',
name='user',
field=models.ForeignKey(default=0, to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
]
答案 0 :(得分:2)
#user = models.ForeignKey(User)
现在评论。 您是否尝试在取消注释时执行迁移?
试 python manage.py migrate --fake 然后
python manage.py migrate