File: transaction_from_session.py

package info (click to toggle)
python-odmantic 1.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,488 kB
  • sloc: python: 8,646; sh: 110; javascript: 45; makefile: 34; xml: 13
file content (22 lines) | stat: -rw-r--r-- 605 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from odmantic import AIOEngine, Model


class Player(Model):
    name: str
    game: str


engine = AIOEngine()

async with engine.session() as session:
    leeroy = await session.save(Player(name="Leeroy Jenkins", game="WoW"))
    shroud = await session.save(Player(name="Shroud", game="Counter-Strike"))
    async with session.transaction() as transaction:
        leeroy.game = "Fortnite"
        await transaction.save(leeroy)
        shroud.game = "Fortnite"
        await transaction.save(shroud)
        await transaction.commit()

print(await engine.count(Player, Player.game == "Fortnite"))
#> 2