summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-10-31 15:21:05 -0400
committerGitHub <noreply@github.com>2016-10-31 15:21:05 -0400
commit2f9861d823620da7ecb291a8f005f53da12b1e89 (patch)
tree31e882eaf3e99a486bea89fe25c0b246f9b94988 /django
parentde91c172cfda624451fab9a87be92cc0d32e1fcf (diff)
Fixed #27148 -- Fixed ModelMultipleChoiceField crash with invalid UUID.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/__init__.py9
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',