@@ -785,6 +785,19 @@ class TestManyTrueValidationCheck:
785
785
(integer and email).
786
786
"""
787
787
788
+ class PersonUUIDSerializer (serializers .ModelSerializer ):
789
+ uuid = serializers .UUIDField (source = "id" )
790
+
791
+ class Meta :
792
+ model = PersonUUID
793
+ fields = ("uuid" , "name" )
794
+ read_only_fields = ("uuid" ,)
795
+
796
+ def validate_name (self , value ):
797
+ if value and not self .instance .is_valid :
798
+ return False
799
+ return value
800
+
788
801
def setup_method (self ):
789
802
self .obj1 = ListModelForTest .objects .create (name = "valid" , status = "new" )
790
803
self .obj2 = ListModelForTest .objects .create (name = "invalid" , status = "" )
@@ -845,24 +858,20 @@ def test_uuid_validate_many(self):
845
858
PersonUUID .objects .create (id = "c20f2f31-65a3-451f-ae7d-e939b7d9f84b" , name = "valid" )
846
859
PersonUUID .objects .create (id = "3308237e-18d8-4074-9d05-79cc0fdb5bb3" , name = "other" )
847
860
848
- class PersonUUIDSerializer (serializers .ModelSerializer ):
849
- uuid = serializers .UUIDField (source = "id" )
850
-
851
- class Meta :
852
- model = PersonUUID
853
- fields = ("uuid" , "name" )
854
- read_only_fields = ('uuid' ,)
855
-
856
- def validate_name (self , value ):
857
- if value and not self .instance .is_valid :
858
- return False
859
- return value
860
-
861
861
input_data = [
862
862
{
863
863
"uuid" : "t3308237e-18d8-4074-9d05-79cc0fdb5bb3" ,
864
864
"name" : "bar" ,
865
865
},
866
866
]
867
- serializer = PersonUUIDSerializer (instance = list (PersonUUID .objects .all ()), data = input_data , many = True )
867
+ serializer = self .PersonUUIDSerializer (instance = list (PersonUUID .objects .all ()), data = input_data , many = True )
868
+ assert serializer .is_valid (), serializer .errors
869
+
870
+ def test_uuid_validate_single (self ):
871
+ instance = PersonUUID .objects .create (id = "c20f2f31-65a3-451f-ae7d-e939b7d9f84b" , name = "food" )
872
+
873
+ serializer = self .PersonUUIDSerializer (
874
+ instance = instance ,
875
+ data = {"uuid" : "c20f2f31-65a3-451f-ae7d-e939b7d9f84b" , "name" : "valid" },
876
+ )
868
877
assert serializer .is_valid (), serializer .errors
0 commit comments