mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 20:12:00 -06:00
#11711: Use CSVModelChoiceField for custom object fields during CSV import
This commit is contained in:
parent
d748851027
commit
9f91b89467
@ -20,10 +20,12 @@ from netbox.models import ChangeLoggedModel
|
|||||||
from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksMixin
|
from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksMixin
|
||||||
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.fields import (
|
||||||
CSVChoiceField, CSVModelMultipleChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
|
CSVChoiceField, CSVModelChoiceField, CSVModelMultipleChoiceField, CSVMultipleChoiceField, DynamicModelChoiceField,
|
||||||
JSONField, LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice,
|
DynamicModelMultipleChoiceField, JSONField, LaxURLField,
|
||||||
)
|
)
|
||||||
|
from utilities.forms.widgets import DatePicker, StaticSelectMultiple, StaticSelect
|
||||||
|
from utilities.forms.utils import add_blank_choice
|
||||||
from utilities.querysets import RestrictedQuerySet
|
from utilities.querysets import RestrictedQuerySet
|
||||||
from utilities.validators import validate_regex
|
from utilities.validators import validate_regex
|
||||||
|
|
||||||
@ -413,7 +415,8 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
|
|||||||
# Object
|
# Object
|
||||||
elif self.type == CustomFieldTypeChoices.TYPE_OBJECT:
|
elif self.type == CustomFieldTypeChoices.TYPE_OBJECT:
|
||||||
model = self.object_type.model_class()
|
model = self.object_type.model_class()
|
||||||
field = DynamicModelChoiceField(
|
field_class = CSVModelChoiceField if for_csv_import else DynamicModelChoiceField
|
||||||
|
field = field_class(
|
||||||
queryset=model.objects.all(),
|
queryset=model.objects.all(),
|
||||||
required=required,
|
required=required,
|
||||||
initial=initial
|
initial=initial
|
||||||
@ -423,7 +426,6 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
|
|||||||
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_class = CSVModelMultipleChoiceField if for_csv_import else DynamicModelMultipleChoiceField
|
field_class = CSVModelMultipleChoiceField if for_csv_import else DynamicModelMultipleChoiceField
|
||||||
|
|
||||||
field = field_class(
|
field = field_class(
|
||||||
queryset=model.objects.all(),
|
queryset=model.objects.all(),
|
||||||
required=required,
|
required=required,
|
||||||
|
Loading…
Reference in New Issue
Block a user