2014-10-17 77 views
0

當我使用廠男孩2.4.1,Django的1.4.11和Python 2.7使用以下工廠:KeyError異常使用dango_get_or_create

class UserFactory(factory.django.DjangoModelFactory): 
    class Meta: 
      model = auth.models.User 
      django_get_or_create = ('Bob',) 
    username = 'Dan' 

每次我試圖創建一個工廠,我收到了用戶的時間:

KeyError: 'Bob' 

我試過把一個現有的密鑰放入django_get_or_create字段沒有成功。出了什麼問題?

發生了什麼錯誤,正如評論所說,它應該是django_get_or_create = ('username',);即這是班級的關鍵,而不是數據庫。

+0

'django_get_or_create'的元組由模型的字段組成。 「鮑勃」不是一個領域,你想要做什麼? – coldmind 2014-10-17 09:15:44

+0

是的,通過實際閱讀和理解代碼中「關鍵」的含義來獲得它。是一個數字。該行應該讀取'django_get_or_create =('username')' – 2014-10-17 09:56:19

回答

0

django_get_or_create = ('username')在文檔中,其中'username'是模型的關鍵,而不是數據庫。解決方案是將'Bob'更改爲模型中的字段。感謝評論。