diff options
| author | Tim Graham <timograham@gmail.com> | 2016-10-31 15:21:05 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-31 15:21:05 -0400 |
| commit | 2f9861d823620da7ecb291a8f005f53da12b1e89 (patch) | |
| tree | 31e882eaf3e99a486bea89fe25c0b246f9b94988 /django | |
| parent | de91c172cfda624451fab9a87be92cc0d32e1fcf (diff) | |
Fixed #27148 -- Fixed ModelMultipleChoiceField crash with invalid UUID.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/__init__.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 4017c9088b..1ab2b6d313 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -2371,20 +2371,17 @@ class UUIDField(Field): if value is None: return None if not isinstance(value, uuid.UUID): - try: - value = uuid.UUID(value) - except AttributeError: - raise TypeError(self.error_messages['invalid'] % {'value': value}) + value = self.to_python(value) if connection.features.has_native_uuid_field: return value return value.hex def to_python(self, value): - if value and not isinstance(value, uuid.UUID): + if not isinstance(value, uuid.UUID): try: return uuid.UUID(value) - except ValueError: + except (AttributeError, ValueError): raise exceptions.ValidationError( self.error_messages['invalid'], code='invalid', |
