|
|
@@ -20,10 +20,12 @@ from netbox.models import ChangeLoggedModel
|
|
|
from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksMixin
|
|
|
from netbox.search import FieldTypes
|
|
|
from utilities import filters
|
|
|
-from utilities.forms import (
|
|
|
- CSVChoiceField, CSVModelMultipleChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
|
|
|
- JSONField, LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice,
|
|
|
+from utilities.forms.fields import (
|
|
|
+ CSVChoiceField, CSVModelChoiceField, CSVModelMultipleChoiceField, CSVMultipleChoiceField, DynamicModelChoiceField,
|
|
|
+ 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.validators import validate_regex
|
|
|
|
|
|
@@ -413,7 +415,8 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
|
|
|
# Object
|
|
|
elif self.type == CustomFieldTypeChoices.TYPE_OBJECT:
|
|
|
model = self.object_type.model_class()
|
|
|
- field = DynamicModelChoiceField(
|
|
|
+ field_class = CSVModelChoiceField if for_csv_import else DynamicModelChoiceField
|
|
|
+ field = field_class(
|
|
|
queryset=model.objects.all(),
|
|
|
required=required,
|
|
|
initial=initial
|
|
|
@@ -423,7 +426,6 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
|
|
|
elif self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT:
|
|
|
model = self.object_type.model_class()
|
|
|
field_class = CSVModelMultipleChoiceField if for_csv_import else DynamicModelMultipleChoiceField
|
|
|
-
|
|
|
field = field_class(
|
|
|
queryset=model.objects.all(),
|
|
|
required=required,
|