| 49 | |
| 50 | @pytest.mark.asyncio |
| 51 | async def test_prefetch_m2m(db): |
| 52 | tournament = await Tournament.create(name="tournament") |
| 53 | event = await Event.create(name="First", tournament=tournament) |
| 54 | team = await Team.create(name="1") |
| 55 | team_second = await Team.create(name="2") |
| 56 | await event.participants.add(team, team_second) |
| 57 | fetched_events = ( |
| 58 | await Event.all() |
| 59 | .prefetch_related(Prefetch("participants", queryset=Team.filter(name="1"))) |
| 60 | .first() |
| 61 | ) |
| 62 | assert len(fetched_events.participants) == 1 |
| 63 | |
| 64 | |
| 65 | @pytest.mark.asyncio |