99 Employee ,
1010 EnumFields ,
1111 Event ,
12+ ModelTestPydanticMetaBackwardRelations1 ,
13+ ModelTestPydanticMetaBackwardRelations2 ,
1214 IntFields ,
1315 JSONFields ,
1416 Reporter ,
@@ -33,11 +35,17 @@ async def asyncSetUp(self) -> None:
3335 self .Tournament_Pydantic = pydantic_model_creator (Tournament )
3436 self .Team_Pydantic = pydantic_model_creator (Team )
3537 self .Address_Pydantic = pydantic_model_creator (Address )
38+ self .ModelTestPydanticMetaBackwardRelations1_Pydantic = pydantic_model_creator (
39+ ModelTestPydanticMetaBackwardRelations1
40+ )
41+ self .ModelTestPydanticMetaBackwardRelations2_Pydantic = pydantic_model_creator (
42+ ModelTestPydanticMetaBackwardRelations2
43+ )
3644
3745 class PydanticMetaOverride :
3846 backward_relations = False
3947
40- self .Event_Pydantic_non_backward = pydantic_model_creator (
48+ self .Event_Pydantic_non_backward_from_override = pydantic_model_creator (
4149 Event , meta_override = PydanticMetaOverride , name = "Event_non_backward"
4250 )
4351
@@ -54,15 +62,24 @@ class PydanticMetaOverride:
5462 await self .event2 .participants .add (self .team1 , self .team2 )
5563 self .maxDiff = None
5664
57- async def test_backward_relations (self ):
65+ async def test_backward_relations_with_meta_override (self ):
5866 event_schema = copy .deepcopy (dict (self .Event_Pydantic .model_json_schema ()))
59- event_non_backward_schema = copy .deepcopy (
60- dict (self .Event_Pydantic_non_backward .model_json_schema ())
67+ event_non_backward_schema_by_override = copy .deepcopy (
68+ dict (self .Event_Pydantic_non_backward_from_override .model_json_schema ())
6169 )
6270 self .assertTrue ("address" in event_schema ["properties" ])
63- self .assertFalse ("address" in event_non_backward_schema ["properties" ])
71+ self .assertFalse ("address" in event_non_backward_schema_by_override ["properties" ])
6472 del event_schema ["properties" ]["address" ]
65- self .assertEqual (event_schema ["properties" ], event_non_backward_schema ["properties" ])
73+ self .assertEqual (event_schema ["properties" ], event_non_backward_schema_by_override ["properties" ])
74+
75+ async def test_backward_relations_with_pydantic_meta (self ):
76+ test_model1_schema = self .ModelTestPydanticMetaBackwardRelations1_Pydantic .model_json_schema ()
77+ test_model2_schema = self .ModelTestPydanticMetaBackwardRelations2_Pydantic .model_json_schema ()
78+ self .assertTrue ("threes" in test_model2_schema ["properties" ])
79+ self .assertFalse ("threes" in test_model1_schema ["properties" ])
80+ del test_model2_schema ["properties" ]["threes" ]
81+ self .assertEqual (test_model2_schema ["properties" ], test_model1_schema ["properties" ])
82+ print (test_model2_schema )
6683
6784 def test_event_schema (self ):
6885 self .assertEqual (
0 commit comments