1
我對新的Django代碼運行測試。我有以下型號:Django模型在單元測試中失敗,但不在shell中
class Places(models.Model):
name = models.CharField(max_length=20)
street = models.CharField(max_length=50)
number = models.IntegerField()
confirmed = models.BooleanField()
notes = models.TextField()
def __unicode__(self):
return self.address
class Meta:
db_table = "Places" # to prevent the prefixes from being added on
當我這樣做的manage.py殼我得到正確的響應:
from my_app.models import Places
Places.objects.get(name='home').confirmed
>>> True
當在我的應用程序一個單元測試下進行的相同的代碼( manage.py測試MYAPP)我得到的錯誤:
Places matching query does not exist django
當我與PDB嘗試我發現,Django是讀取數據庫爲空(空集),而不是存儲任何數據。
我也在代碼中嘗試過RAW SQL,但也失敗了,但是在shell中工作。
我檢查了數據庫在SQL本身和數據存在。我執行了等效的SQL代碼,它也返回True。
這是在Django中的錯誤?
please,打印結果'Places.objects.filter(name ='home')。count()' – defuz
這是0。 RAW SQL沒有顯示任何內容,這一定是django「看到」數據庫和其中的信息的問題 –