diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index b5a5686aca..58ae350913 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -373,7 +373,7 @@ class DeviceTypeImportForm(NetBoxModelImportForm): to_field_name='name', help_text=_('The manufacturer which produces this device type') ) - default_platform = forms.ModelChoiceField( + default_platform = CSVModelChoiceField( label=_('Default platform'), queryset=Platform.objects.all(), to_field_name='name', diff --git a/netbox/utilities/forms/fields/csv.py b/netbox/utilities/forms/fields/csv.py index 6d7ba4d61a..a2d4025cbc 100644 --- a/netbox/utilities/forms/fields/csv.py +++ b/netbox/utilities/forms/fields/csv.py @@ -1,7 +1,7 @@ from django import forms from django.utils.translation import gettext_lazy as _ from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist +from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist, FieldError from django.db.models import Q from utilities.choices import unpack_grouped_choices @@ -64,6 +64,10 @@ def to_python(self, value): raise forms.ValidationError( _('"{value}" is not a unique value for this field; multiple objects were found').format(value=value) ) + except FieldError: + raise forms.ValidationError( + _('"{field_name}" is an invalid accessor field name.').format(field_name=self.to_field_name) + ) class CSVModelMultipleChoiceField(forms.ModelMultipleChoiceField):