Ejemplo n.º 1
0
 async def test_prefetch_direct_relation_to_attr(self):
     tournament = await Tournament.create(name="tournament")
     await Event.create(name="First", tournament=tournament)
     event = await Event.first().prefetch_related(
         Prefetch("tournament", queryset=Tournament.all(), to_attr="to_attr_tournament")
     )
     self.assertEqual(event.to_attr_tournament.id, tournament.id)
Ejemplo n.º 2
0
    async def test_select_await_across_transaction_success(self):
        query = Tournament.all().values("id", "name")
        async with in_transaction():
            obj = await Tournament.create(name="Test1")
            result = await query

        self.assertEqual(result, [{"id": obj.id, "name": "Test1"}])
        self.assertEqual(
            await Tournament.all().values("id", "name"), [{"id": obj.id, "name": "Test1"}]
        )
Ejemplo n.º 3
0
    async def test_select_await_across_transaction_fail(self):
        query = Tournament.all().values("name")
        try:
            async with in_transaction():
                await Tournament.create(name="Test1")
                result = await query
                raise KeyError("moo")
        except KeyError:
            pass

        self.assertEqual(result, [{"name": "Test1"}])
        self.assertEqual(await Tournament.all(), [])