Error handling fix (#6741)

* Handle case where error message is *not* a dict

* Encode as list
This commit is contained in:
Oliver 2024-03-18 21:28:04 +11:00 committed by GitHub
parent ae6803095c
commit ca8f0cee9f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -352,7 +352,12 @@ class InvenTreeModelSerializer(serializers.ModelSerializer):
try:
instance.full_clean()
except (ValidationError, DjangoValidationError) as exc:
data = exc.message_dict
if hasattr(exc, 'message_dict'):
data = exc.message_dict
elif hasattr(exc, 'message'):
data = {'non_field_errors': [str(exc.message)]}
else:
data = {'non_field_errors': [str(exc)]}
# Change '__all__' key (django style) to 'non_field_errors' (DRF style)
if '__all__' in data: