Поскольку HTML позволяет пользователям отправлять несколько значений для одного ключа, Django должен использовать специализированную структуру данных, чтобы учесть эту возможность.Результатом является MultiValueDict, который request.GET
и request.POST
являются примерами под капотом.Вы можете просмотреть код для этой структуры здесь: http://djangoapi.quamquam.org/trunk/django.utils.datastructures.MultiValueDict-class.html
Короткий рассказ, однако, заключается в том, что вы можете получить доступ к первому значению с помощью простого поиска в формате dict, например request.POST['mykey']
, и списка всех значений, таких как request.POST.getlist('mykey')
.
Тем не менее, как отметили некоторые другие комментаторы, возможно, существует лучший способ обработки описанного вами варианта использования.Радиокнопки с опцией да / нет являются одним из решений, хотя, возможно, они менее удобны с точки зрения пользователя.Я думаю, что лучший способ справиться с этим - переосмыслить, как вы обрабатываете форму, и по возможности использовать библиотеку Django Forms вместо низкоуровневой обработки необработанных данных POST.