Python 使用dango_get_或_create时出现键错误
我在以下工厂中使用Factory Boy 2.4.1、Django 1.4.11和python 2.7:Python 使用dango_get_或_create时出现键错误,python,django,factory-boy,Python,Django,Factory Boy,我在以下工厂中使用Factory Boy 2.4.1、Django 1.4.11和python 2.7: class UserFactory(factory.django.DjangoModelFactory): class Meta: model = auth.models.User django_get_or_create = ('Bob',) username = 'Dan' 每次我尝试使用工厂创建用户时,我都会得到: Ke
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = auth.models.User
django_get_or_create = ('Bob',)
username = 'Dan'
每次我尝试使用工厂创建用户时,我都会得到:
KeyError: 'Bob'
我尝试将现有密钥放入django\u get\u或\u create
字段,但没有成功。怎么了
正如评论所说,问题在于它应该是
django_get_或_create=('username',)
;即类的键,而不是数据库的键。django\u get\u或\u create=('username')
如文档中所示,'username'
是模型的键,而不是数据库的键。将“Bob”更改为模型中的字段是解决方案。感谢您的评论。django\u get\u或\u create的元组由模型字段组成Bob
不是一个字段,你想做什么?是的,就在这之前,通过实际阅读和理解代码中“键”的含义,了解到了这一点。这是一个裸体的人。该行应为django\u get\u或\u create=('username')