serialisers.UUIDField with Boolean value not raising "invalid UUID" exeption

This commit is contained in:
Andrei Prădan 2017-02-07 19:41:57 +02:00
parent cbad236f6d
commit 6b0027688b
2 changed files with 4 additions and 1 deletions

View File

@ -827,6 +827,8 @@ class UUIDField(Field):
if not isinstance(data, uuid.UUID):
try:
if isinstance(data, six.integer_types):
# if isinstance(data, bool):
# self.fail('invalid', value=data)
return uuid.UUID(int=data)
elif isinstance(data, six.string_types):
return uuid.UUID(hex=data)

View File

@ -731,7 +731,8 @@ class TestUUIDField(FieldValues):
}
invalid_inputs = {
'825d7aeb-05a9-45b5-a5b7': ['"825d7aeb-05a9-45b5-a5b7" is not a valid UUID.'],
(1, 2, 3): ['"(1, 2, 3)" is not a valid UUID.']
(1, 2, 3): ['"(1, 2, 3)" is not a valid UUID.'],
True: ['"True" is not a valid UUID.'],
}
outputs = {
uuid.UUID('825d7aeb-05a9-45b5-a5b7-05df87923cda'): '825d7aeb-05a9-45b5-a5b7-05df87923cda'