summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2018-08-17 18:43:35 -0400
committerTim Graham <timograham@gmail.com>2018-08-18 08:20:21 -0400
commit838d6dcb865ada45258a1af7e2753df523cb201d (patch)
tree70fd625dd036f626932cd8656df14d26555605bc
parent53ebd4cb1397145d11a54e2c1dd83b63fc337097 (diff)
Refs #29426 -- Made UUIDField render values with dashes.
-rw-r--r--django/forms/fields.py2
-rw-r--r--docs/releases/2.2.txt4
-rw-r--r--tests/forms_tests/field_tests/test_uuidfield.py7
3 files changed, 11 insertions, 2 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index 6e19c79144..0f1a352cdc 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -1187,7 +1187,7 @@ class UUIDField(CharField):
def prepare_value(self, value):
if isinstance(value, uuid.UUID):
- return value.hex
+ return str(value)
return value
def to_python(self, value):
diff --git a/docs/releases/2.2.txt b/docs/releases/2.2.txt
index a6b500e03e..4d5b763edf 100644
--- a/docs/releases/2.2.txt
+++ b/docs/releases/2.2.txt
@@ -250,6 +250,10 @@ Database backend API
* Support for GDAL 1.9 and 1.10 is dropped.
+* To improve readability, the ``UUIDField`` form field now displays values with
+ dashes, e.g. ``550e8400-e29b-41d4-a716-446655440000`` instead of
+ ``550e8400e29b41d4a716446655440000``.
+
Miscellaneous
-------------
diff --git a/tests/forms_tests/field_tests/test_uuidfield.py b/tests/forms_tests/field_tests/test_uuidfield.py
index ed08efd659..242b81647d 100644
--- a/tests/forms_tests/field_tests/test_uuidfield.py
+++ b/tests/forms_tests/field_tests/test_uuidfield.py
@@ -11,6 +11,11 @@ class UUIDFieldTest(SimpleTestCase):
value = field.clean('550e8400e29b41d4a716446655440000')
self.assertEqual(value, uuid.UUID('550e8400e29b41d4a716446655440000'))
+ def test_clean_value_with_dashes(self):
+ field = UUIDField()
+ value = field.clean('550e8400-e29b-41d4-a716-446655440000')
+ self.assertEqual(value, uuid.UUID('550e8400e29b41d4a716446655440000'))
+
def test_uuidfield_2(self):
field = UUIDField(required=False)
value = field.clean('')
@@ -24,4 +29,4 @@ class UUIDFieldTest(SimpleTestCase):
def test_uuidfield_4(self):
field = UUIDField()
value = field.prepare_value(uuid.UUID('550e8400e29b41d4a716446655440000'))
- self.assertEqual(value, '550e8400e29b41d4a716446655440000')
+ self.assertEqual(value, '550e8400-e29b-41d4-a716-446655440000')