У меня есть ModelForm
, который содержит ForeignKey
, скажем для объекта User, но он может быть для любой другой модели. У меня есть единичный тестовый класс для этой формы, но когда я пытаюсь передать его данные, я получаю ошибку Select a valid choice. That choice is not one of the available choices
. Тест выглядит так:Модульные тесты Django с ForeignKey
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
, но я получаю ту же ошибку.
Что мне не хватает?
Есть ли у вас другие поля выбора в форме? –
@ LorenzoPeña: Почему это имеет значение? – Sardathrion