initial
This commit is contained in:
2
reflex_ipad/models/__init__.py
Normal file
2
reflex_ipad/models/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from .medicine import *
|
||||
from .scan import *
|
||||
6
reflex_ipad/models/base.py
Normal file
6
reflex_ipad/models/base.py
Normal file
@@ -0,0 +1,6 @@
|
||||
import reflex as rx
|
||||
|
||||
|
||||
class BaseModel(rx.Model):
|
||||
def as_dict(self):
|
||||
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
||||
29
reflex_ipad/models/medicine.py
Normal file
29
reflex_ipad/models/medicine.py
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
||||
11
reflex_ipad/models/scan.py
Normal file
11
reflex_ipad/models/scan.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import reflex as rx
|
||||
from .base import *
|
||||
from typing import Optional, List
|
||||
|
||||
from sqlmodel import Field, Session, SQLModel, create_engine, select, Relationship
|
||||
|
||||
|
||||
class Scan(BaseModel, table=True):
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
uuid: str = Field(index=True)
|
||||
timestamp: int = Field(index=True)
|
||||
Reference in New Issue
Block a user