| 21 | |
| 22 | @pytest.mark.asyncio |
| 23 | async def test_prefetch_object(db): |
| 24 | tournament = await Tournament.create(name="tournament") |
| 25 | await Event.create(name="First", tournament=tournament) |
| 26 | await Event.create(name="Second", tournament=tournament) |
| 27 | tournament_with_filtered = ( |
| 28 | await Tournament.all() |
| 29 | .prefetch_related(Prefetch("events", queryset=Event.filter(name="First"))) |
| 30 | .first() |
| 31 | ) |
| 32 | tournament = await Tournament.first().prefetch_related("events") |
| 33 | assert len(tournament_with_filtered.events) == 1 |
| 34 | assert len(tournament.events) == 2 |
| 35 | |
| 36 | |
| 37 | @pytest.mark.asyncio |