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

Function run

examples/relations.py:61–122  ·  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
65 tournament = Tournament(name="New Tournament")
66 await tournament.save()
67 await Event(name="Without participants", tournament_id=tournament.id).save()
68 event = Event(name="Test", tournament_id=tournament.id)
69 await event.save()
70
71 await Address.create(city="Santa Monica", street="Ocean", event=event)
72
73 participants = []
74 for i in range(2):
75 team = Team(name=f"Team {(i + 1)}")
76 await team.save()
77 participants.append(team)
78 await event.participants.add(participants[0], participants[1])
79 await event.participants.add(participants[0], participants[1])
80
81 try:
82 for team in event.participants:
83 print(team.id)
84 except NoValuesFetched:
85 pass
86
87 async for team in event.participants:
88 print(team.id)
89
90 for team in event.participants:
91 print(team.id)
92
93 print(
94 await Event.filter(participants=participants[0].id).prefetch_related(
95 "participants", "tournament"
96 )
97 )
98 print(await participants[0].fetch_related("events"))
99
100 print(await Team.fetch_for_list(participants, "events"))
101
102 print(await Team.filter(events__tournament__id=tournament.id))
103
104 print(await Event.filter(tournament=tournament))
105
106 print(
107 await Tournament.filter(events__name__in=["Test", "Prod"])
108 .order_by("-events__participants__name")
109 .distinct()
110 )
111
112 print(await Event.filter(id=event.id).values("id", "name", tournament="tournament__name"))
113
114 print(await Event.filter(id=event.id).values_list("id", "participants__name"))
115
116 print(await Address.filter(event=event).first())
117
118 event_reload1 = await Event.filter(id=event.id).first()

Callers 1

relations.pyFile · 0.70

Calls 15

saveMethod · 0.80
addMethod · 0.80
fetch_relatedMethod · 0.80
distinctMethod · 0.80
TournamentClass · 0.70
EventClass · 0.70
TeamClass · 0.70
initMethod · 0.45
generate_schemasMethod · 0.45
createMethod · 0.45
prefetch_relatedMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected