Как отправить данные в форму Django, которая содержит флажки - PullRequest
0 голосов
/ 12 декабря 2018

У меня проблема при тестировании моей регистрационной формы в Джанго.Я пытаюсь сделать запрос POST, но не могу выбрать поле флажка.

self.response = self.client.post(url, {
        'username': 'testuser',
        'password': 'testuserpassword',
        'first_name': 'testtt',
        'last_name': 'userrr',
        'image': '',
        'email': 'testuser@gmail.com',
        'gender': 'M',
        'dob': '10/10/1996',
        'hobby': 'Fishing'
    })

Это моя строка кода.Проблема в хобби.Страница регистрации состоит из двух форм.Форма профиля и форма хобби.Между моделями Profile и Hobby существует отношение многие ко многим.

Когда я выполняю вышеуказанный запрос POST, я получаю это (выберите правильный выбор):

enter image description here

Заранее спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Согласно скриншоту, который вы разместили, значение для каждого флажка хобби соответствует целому числу - 1, 2, 3, 4 и т. Д. Это означает, что бэкэнд ожидает, что идентификатор хобби будет передан в форме,Однако тест не отправляет идентификатор хобби, он отправляет имя.

Измените имя на соответствующий идентификатор - например,

self.response = self.client.post(url, {
        ...
        'hobby': 1  # Fishing
    })
...