Форма 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

Вернуться на верх