-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo.py
38 lines (22 loc) · 917 Bytes
/
demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import databases
import ormar
from pydantic import Field
from sqlalchemy import MetaData
from typing import Annotated
db = databases.Database("sqlite:///:memory")
md = MetaData()
class Demo(ormar.Model):
ormar_config = ormar.OrmarConfig(database=db, metadata=md)
foo: str = ormar.Text(primary_key=True)
bar: float | None = ormar.Float()
print(repr(Demo(foo="hello", bar=42.)))
class Demo2(ormar.Model):
ormar_config = ormar.OrmarConfig(database=db, metadata=md)
foo: Annotated[str, Field(default=ormar.Text(primary_key=True))]
bar: Annotated[float | None, Field(default=ormar.Float())]
print(repr(Demo2(foo="hello", bar=42.)))
class Demo3(ormar.Model):
ormar_config = ormar.OrmarConfig(database=db, metadata=md)
foo: Annotated[str, Field(), ormar.Text(primary_key=True)]
bar: Annotated[float | None, Field(), ormar.Float()]
print(repr(Demo3(foo="hello", bar=42.)))