Можно ли изменить тип нормализации Django.Form?
У меня есть класс Form
в проекте Django с несколькими MultipleChoiceFields
, которые я подаю ему на выбор (int, str)
. Когда форма выполняет очистку данных на входных значениях MultipleChoiceFields
, входные значения имеют тип int, но к моему удивлению, когда они очищаются, django to_python()
нормализует их до строк. Есть ли способ указать, какой тип нормализации должен быть для FormField
? Надеюсь, без необходимости создавать дочерний класс и переписывать оригинальное поведение?
Редактирование: Пример формы
class MyForm(forms.Form)
owner = forms.MultipleChoiceField(
label=gettext_lazy("Owners"),
required=False,
widget=forms.SelectMultiple(attrs{"class":"form_multi_select"}),)
def __init__(self, *args, **kwargs):
self.choice_options = kwargs.pop("choice_options")
super().__init__(*args, **kwargs)
owners = self.choice_options.get("owner")
self.fields["owners"].choices = owners.ungrouped() if owners else []