From 838d6dcb865ada45258a1af7e2753df523cb201d Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 17 Aug 2018 18:43:35 -0400 Subject: [PATCH] Refs #29426 -- Made UUIDField render values with dashes. --- django/forms/fields.py | 2 +- docs/releases/2.2.txt | 4 ++++ tests/forms_tests/field_tests/test_uuidfield.py | 7 ++++++- 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')