30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import reflex as rx
|
|
from typing import Optional, List
|
|
|
|
from sqlmodel import Field, Session, SQLModel, create_engine, select, Relationship
|
|
|
|
|
|
class Owner(rx.Model, table=True):
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
name: str
|
|
medicines: List["Medicine"] = Relationship(back_populates="owner")
|
|
|
|
|
|
class Medicine(rx.Model, table=True):
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
name: str
|
|
owner_id: int = Field(default=None, foreign_key="owner.id")
|
|
owner: Owner = Relationship(back_populates="medicines")
|
|
pzn: str
|
|
package_size: Optional[int] = Field(default=None)
|
|
uuid: str = Field(index=True)
|
|
log: List["MedicineLog"] = Relationship(back_populates="medicine")
|
|
cron: Optional[str] = Field(default=None)
|
|
|
|
|
|
class MedicineLog(rx.Model, table=True):
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
medicine_id: Optional[int] = Field(default=None, foreign_key="medicine.id")
|
|
medicine: Optional[Medicine] = Relationship(back_populates="log")
|
|
timestamp: int
|