我有一个ModelForm
包含一些ForeignKey
对User对象说的东西,但是可能对任何其他模型来说都是这样。我有此表单的单元测试类,但是当我尝试传递数据时,出现Select a valid choice. That choice is not one of the available choices
错误。测试看起来像这样:
class Monkey(Model):
user = models.ForeignKey(User)
...
class MyForm(ModelForm):
class Meta:
model = Monkey
fields = ['user', ...]
def test_my_form_with_a_user(self):
...
data = {'user': User.objects.get(pk=1), ... } # Nope.
data = {'user': [u'1'], ... } # Nope.
data = {'user': [u'JaneDoe'], ... } # Nope.
form = MyForm(data, ...)
self.assertTrue(form.is_valid(), form.errors)
...
我尝试了任何数量的排列,user
但是却遇到了相同的错误。
我想念什么?
您应该可以使用以下方法为测试中的用户字段分配一个值:
def test_my_form_with_a_user(self):
user_pk = User.objects.get(pk=1).pk
data = {'user': user_pk}
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句