Python Django 1.7(显然)没有在manage.py测试上运行迁移
在Django1.7项目中,我需要在现有模型中添加一个字段 我添加了以下内容:Python Django 1.7(显然)没有在manage.py测试上运行迁移,python,django,migration,django-1.7,django-migrations,Python,Django,Migration,Django 1.7,Django Migrations,在Django1.7项目中,我需要在现有模型中添加一个字段 我添加了以下内容:bairro=models.CharField(max_length=200) 然后我运行了两个命令: python manage.py makemigrations python manage.py migrate 现在,测试将不再运行。 每当我运行python manage.py test时,都会出现以下错误: django.db.utils.ProgrammingError: column admin_star
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
这很奇怪,因为如果我打开shell,我可以添加对象,而字段也可以工作
我能做什么?这是其中一次迁移中的一个问题 为了找到它是什么,我删除了我的数据库并尝试运行
python manage.py migrate
,但出现了相同的错误。然后我注意到一个相关模型对此模型有一个默认值,如下所示:
def first_my_model():
return MyModel.objects.first().pk if MyModel.objects.first() else 0
它试图在此调用中使用新添加的(但数据库中尚未存在的)字段,因此抛出了错误。您可以发布添加该字段的模型吗?@Ymartin我发现了问题,添加了一个解释。