2014-12-04 112 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)領域,從而引發錯誤。