@@ -785,6 +785,19 @@ class TestManyTrueValidationCheck:
785785 (integer and email).
786786 """
787787
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+
788801 def setup_method (self ):
789802 self .obj1 = ListModelForTest .objects .create (name = "valid" , status = "new" )
790803 self .obj2 = ListModelForTest .objects .create (name = "invalid" , status = "" )
@@ -845,24 +858,20 @@ def test_uuid_validate_many(self):
845858 PersonUUID .objects .create (id = "c20f2f31-65a3-451f-ae7d-e939b7d9f84b" , name = "valid" )
846859 PersonUUID .objects .create (id = "3308237e-18d8-4074-9d05-79cc0fdb5bb3" , name = "other" )
847860
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-
861861 input_data = [
862862 {
863863 "uuid" : "t3308237e-18d8-4074-9d05-79cc0fdb5bb3" ,
864864 "name" : "bar" ,
865865 },
866866 ]
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+ )
868877 assert serializer .is_valid (), serializer .errors
0 commit comments