models: we can now store TeilchenCreate data in the database thus creating a new Teilchen
closes #3
This commit is contained in:
parent
1b565e5a4e
commit
db47501cd0
1 changed files with 16 additions and 3 deletions
|
|
@ -3,12 +3,14 @@ import uuid
|
||||||
|
|
||||||
from sqlmodel import (
|
from sqlmodel import (
|
||||||
Field,
|
Field,
|
||||||
SQLModel,
|
|
||||||
Session,
|
|
||||||
select,
|
|
||||||
Sequence,
|
Sequence,
|
||||||
|
Session,
|
||||||
|
SQLModel,
|
||||||
|
select,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from .database import engine
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -35,6 +37,7 @@ async def make_teilchen_input(text: str) -> TeilchenCreate | None:
|
||||||
Returns `None` otherwise.
|
Returns `None` otherwise.
|
||||||
"""
|
"""
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from natsort import natsorted
|
from natsort import natsorted
|
||||||
|
|
||||||
text = text.strip()
|
text = text.strip()
|
||||||
|
|
@ -88,3 +91,13 @@ async def load_initial_data() -> Sequence[Teilchen]:
|
||||||
) # ty:ignore[no-matching-overload]
|
) # ty:ignore[no-matching-overload]
|
||||||
all_teilchen = session.exec(statement).all()
|
all_teilchen = session.exec(statement).all()
|
||||||
return all_teilchen
|
return all_teilchen
|
||||||
|
|
||||||
|
|
||||||
|
async def add_to_database(tc: TeilchenCreate) -> Teilchen:
|
||||||
|
with Session(engine) as session:
|
||||||
|
teilchen = Teilchen.model_validate(tc)
|
||||||
|
session.add(teilchen)
|
||||||
|
session.commit()
|
||||||
|
session.refresh(teilchen)
|
||||||
|
|
||||||
|
return teilchen
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue