Форма Django - одно и то же поле несколько раз
как я могу обработать форму с полем:
order = ModelChoiceField(
required=False,
queryset=OrderOd.objects.filter(Q(status='DN') | Q(status='DI')),
widget=Select(
attrs={
"class": "form-select form-select-md form-select-solid",
"data-control": "select2",
"data-multiple": "true",
"multiple": "multiple",
"data-placeholder": _("Vyberte objednávku ..."),
"id": 'order'
}
)
)
<
movement: f2b7c234-fbdb-4059-bcb6-8ada46cef72c
account: dbabefb7-f053-4edf-a2e3-787bf6bfc371
date: 2022-09-12
order: eb2fc726-3e97-4af2-a8b2-08f20771cfef
order: 8398925b-fca6-4b25-8c48-e12940a5b5c3
order: bfa35391-5cf8-4ed8-8c44-a797da875cb4
order: 07be93ac-20b3-459c-8038-c8b023db6d66
В front-end я могу выбрать несколько заказов (выглядит как таблетки/таблетки) и в запросе, отправленном на сервер, это выглядит следующим образом:
Когда я проверяю self.data, я получаю
'order': ['eb2fc726-3e97-4af2-a8b2-08f20771cfef', '8398925b-fca6-4b25-8c48-e12940a5b5c3', 'bfa35391-5cf8-4ed8-8c44-a797da875cb4', '07be93ac-20b3-459c-8038-c8b023db6d66'],
но когда я проверяю вывод logger.info(self.data['order']), он дает мне только первый UUID.
[INFO] form.py 123: 07be93ac-20b3-459c-8038-c8b023db6d66
Мне нужно получить доступ ко всем UUID в массиве (порядок) и обрабатывать их экземпляр за экземпляром.
Есть идеи, как это сделать? Спасибо
Вы можете использовать self.data.getlist('order')
для возврата данных в виде массива.
смотрите больше информации в документации Django