Loading django/db/models/fields/__init__.py +2 −2 Original line number Diff line number Diff line Loading @@ -2382,12 +2382,12 @@ class UUIDField(Field): return "UUIDField" def get_db_prep_value(self, value, connection, prepared=False): if isinstance(value, six.string_types): value = uuid.UUID(value.replace('-', '')) if isinstance(value, uuid.UUID): if connection.features.has_native_uuid_field: return value return value.hex if isinstance(value, six.string_types): return value.replace('-', '') return value def to_python(self, value): Loading tests/model_fields/test_uuid.py +9 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,15 @@ class TestSaveLoad(TestCase): loaded = NullableUUIDModel.objects.get() self.assertEqual(loaded.field, None) def test_wrong_value(self): self.assertRaisesMessage( ValueError, 'badly formed hexadecimal UUID string', UUIDModel.objects.get, field='not-a-uuid') self.assertRaisesMessage( ValueError, 'badly formed hexadecimal UUID string', UUIDModel.objects.create, field='not-a-uuid') class TestMigrations(TestCase): Loading Loading
django/db/models/fields/__init__.py +2 −2 Original line number Diff line number Diff line Loading @@ -2382,12 +2382,12 @@ class UUIDField(Field): return "UUIDField" def get_db_prep_value(self, value, connection, prepared=False): if isinstance(value, six.string_types): value = uuid.UUID(value.replace('-', '')) if isinstance(value, uuid.UUID): if connection.features.has_native_uuid_field: return value return value.hex if isinstance(value, six.string_types): return value.replace('-', '') return value def to_python(self, value): Loading
tests/model_fields/test_uuid.py +9 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,15 @@ class TestSaveLoad(TestCase): loaded = NullableUUIDModel.objects.get() self.assertEqual(loaded.field, None) def test_wrong_value(self): self.assertRaisesMessage( ValueError, 'badly formed hexadecimal UUID string', UUIDModel.objects.get, field='not-a-uuid') self.assertRaisesMessage( ValueError, 'badly formed hexadecimal UUID string', UUIDModel.objects.create, field='not-a-uuid') class TestMigrations(TestCase): Loading