Add handling for FieldError to CSVModelChoiceField.to_python to handle invalid accessor field

This commit is contained in:
Brian Tiemann 2024-09-24 17:27:03 -04:00
parent 01db481bc3
commit b761fde0d3

View File

@ -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 @@ class CSVModelChoiceField(forms.ModelChoiceField):
raise forms.ValidationError(
_('"{value}" is not a unique value for this field; multiple objects were found').format(value=value)
)
except FieldError:
raise forms.ValidationError(
_(f'"{self.to_field_name}" is an invalid accessor field name.')
)
class CSVModelMultipleChoiceField(forms.ModelMultipleChoiceField):