【发布时间】:2015-03-17 08:54:48
【问题描述】:
我无法在我的 django 应用程序中运行命令 runserver。 它总是显示: 您有未应用的迁移;在应用之前,您的应用程序可能无法正常运行。 运行“python manage.py migrate”以应用它们。
当我尝试迁移时,它会显示此错误: raise 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,
),
]
【问题讨论】:
-
您似乎没有发布失败迁移的代码。
-
您要询问的代码是什么?现在我也发布了错误消息。
-
嗯,它在忏悔应用程序中迁移 0003_question_user 失败。这种迁移实际上是什么样的?
-
当我试图运行这个命令“python manage.py sqlmigrate confession 0003”它抛出同样的错误。
-
我没有问这个。我问过你迁移的代码是什么样子的。我们无法在没有看到的情况下帮助您。