Я пытаюсь создать интеграционный тест для вида обновления с формой обновления. Проблема, с которой я сталкиваюсь, заключается в том, что форма помечена как недопустимая, причем слишком часто встречается:
Select a valid choice. That choice is not one of the available choices
Модель содержит 2 связанных объекта (внешних ключа), для которых возникает эта ошибка. Обратите внимание, что при работе на встроенном тестовом веб-сервере вид и вид отлично работают. Эта проблема возникает при попытке создать TestCase с помощью клиентского класса.
Я создаю все необходимые экземпляры в методе setUp
TestCase
и в реальном тестовом использовании client
для POST новые данные.
response = self.client.post(
reverse('edit_form', kwargs={'pk': self.instance.id}),
data={'id': self.instance.id,
'comment':self.instance.comment.id,
'sequence': self.instance.sequence.id,
#more fields omitted
})
Показывает только соответствующие поля. Как видно, фактические идентификаторы, используемые для связанных объектов, действительно существуют как записи в БД. Может быть, уместно, что последовательность является скрытым полем. Но у них обоих одна и та же ошибка проверки.
Что вызывает эту проблему с проверкой формы в контрольном примере?