2014-12-04 117 views
1

在Django 1.7项目上工作时,我需要为现有模型添加一个字段。Django 1.7(显然)没有在manage.py上运行迁移测试

我增加了以下内容:bairro = models.CharField(max_length=200)

然后我跑了两个命令:

python manage.py makemigrations 
python manage.py migrate 

而现在,测试将不再运行。 每当我跑python manage.py test它给出了这样的错误:

django.db.utils.ProgrammingError: column admin_starbeli_salao.bairro does not exist 

这是奇怪的,因为如果我开壳,我可以添加对象和领域确实工作。

我该怎么办?

+0

你可以发布你添加了该字段的模型吗? – Ymartin 2014-12-05 07:02:20

+0

@Ymartin我发现了这个问题,补充说明了一个答案。 – 2014-12-05 11:37:55

回答

1

这是一个迁移中的问题。

要找到它是什么,我放弃了我的分贝,并试图运行python manage.py migrate,但同样的错误发生。
然后我注意到一个相关的模型已经为这​​个模型默认情况下,像这样:

def first_my_model(): 
    return MyModel.objects.first().pk if MyModel.objects.first() else 0 

有人试图用这个调用新添加的(但尚未存在的DB)领域,从而引发错误。