()
| 59 | |
| 60 | |
| 61 | async 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() |
no test coverage detected