MCPcopy
hub / github.com/tortoise/tortoise-orm / run

Function run

examples/pydantic/basic.py:61–99  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

59
60
61async def run():
62 await Tortoise.init(db_url="sqlite://:memory:", modules={"models": ["__main__"]})
63 await Tortoise.generate_schemas()
64 Event_Pydantic = pydantic_model_creator(Event)
65 Event_Pydantic_List = pydantic_queryset_creator(Event)
66 Tournament_Pydantic = pydantic_model_creator(Tournament)
67 Team_Pydantic = pydantic_model_creator(Team)
68
69 # print(Event_Pydantic_List.schema_json(indent=4))
70 # print(Event_Pydantic.schema_json(indent=4))
71 # print(Tournament_Pydantic.schema_json(indent=4))
72 # print(Team_Pydantic.schema_json(indent=4))
73
74 tournament = await Tournament.create(name="New Tournament")
75 tournament2 = await Tournament.create(name="Old Tournament")
76 await Event.create(name="Empty")
77 event = await Event.create(name="Test", tournament=tournament)
78 event2 = await Event.create(name="TestLast", tournament=tournament)
79 event3 = await Event.create(name="Test2", tournament=tournament2)
80 await Address.create(city="Santa Monica", street="Ocean", event=event)
81 await Address.create(city="Somewhere Else", street="Lane", event=event2)
82 team1 = await Team.create(name="Onesies")
83 team2 = await Team.create(name="T-Shirts")
84 team3 = await Team.create(name="Alternates")
85 await event.participants.add(team1, team2, team3)
86 await event2.participants.add(team1, team2)
87 await event3.participants.add(team1, team3)
88
89 p = await Event_Pydantic.from_tortoise_orm(await Event.get(name="Test"))
90 print("One Event:", p.model_dump_json(indent=4))
91
92 p = await Tournament_Pydantic.from_tortoise_orm(await Tournament.get(name="New Tournament"))
93 print("One Tournament:", p.model_dump_json(indent=4))
94
95 p = await Team_Pydantic.from_tortoise_orm(await Team.get(name="Onesies"))
96 print("One Team:", p.model_dump_json(indent=4))
97
98 pl = await Event_Pydantic_List.from_queryset(Event.filter(address__event_id__isnull=True))
99 print("All Events without addresses:", pl.model_dump_json(indent=4))
100
101
102if __name__ == "__main__":

Callers 2

basic.pyFile · 0.70
main.pyFile · 0.50

Calls 10

pydantic_model_creatorFunction · 0.90
addMethod · 0.80
from_tortoise_ormMethod · 0.80
initMethod · 0.45
generate_schemasMethod · 0.45
createMethod · 0.45
getMethod · 0.45
from_querysetMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected