File: save_with_transaction.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 (24 lines) | stat: -rw-r--r-- 510 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
23
24
from odmantic import Model, SyncEngine


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


engine = SyncEngine()

with engine.transaction() as transaction:
    transaction.save(Player(name="Leeroy Jenkins", game="WoW"))
    transaction.commit()

print(engine.count(Player))
#> 1

with engine.transaction() as transaction:
    transaction.save(Player(name="Shroud", game="Counter-Strike"))
    transaction.save(Player(name="Serral", game="Starcraft"))
    transaction.abort()

print(engine.count(Player))
#> 1