外键中django的数据库后端错误

时间:2015-01-19 11:04:36

标签: python django

我无法在我的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,
        ),
    ]

1 个答案:

答案 0 :(得分:2)

#user = models.ForeignKey(User)

现在评论。 您是否尝试在取消注释时执行迁移?

试 python manage.py migrate --fake 然后

python manage.py migrate