Fixes #11711 - Use CSVModelMultipleChoiceField when importing custom multiple object fields

This commit is contained in:
kkthxbye-code 2023-02-09 10:22:17 +01:00
parent b5da383a17
commit c72a4d4d07

View File

@ -21,7 +21,7 @@ from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksM
from netbox.search import FieldTypes from netbox.search import FieldTypes
from utilities import filters from utilities import filters
from utilities.forms import ( from utilities.forms import (
CSVChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, CSVChoiceField, CSVModelMultipleChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
JSONField, LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice, JSONField, LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice,
) )
from utilities.querysets import RestrictedQuerySet from utilities.querysets import RestrictedQuerySet
@ -422,10 +422,12 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
# Multiple objects # Multiple objects
elif self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT: elif self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT:
model = self.object_type.model_class() model = self.object_type.model_class()
field = DynamicModelMultipleChoiceField( field_class = CSVModelMultipleChoiceField if for_csv_import else DynamicModelMultipleChoiceField
queryset=model.objects.all(),
required=required, field = field_class(
initial=initial queryset=model.objects.all(),
required=required,
initial=initial,
) )
# Text # Text