FunkyJuiceRecipes/src/funkyjuicerecipes/data/models/recipe.py

32 lines
812 B
Python

from __future__ import annotations
from peewee import (
CharField,
IntegerField,
FloatField,
Check,
SQL,
)
from .base import BaseModel
class Recipe(BaseModel):
name = CharField(unique=True)
size_ml = IntegerField(constraints=[Check("size_ml > 0")])
base_pg_pct = FloatField(constraints=[Check("base_pg_pct >= 0")])
base_vg_pct = FloatField(constraints=[Check("base_vg_pct >= 0")])
nic_pct = FloatField(constraints=[Check("nic_pct >= 0 AND nic_pct <= 100")])
nic_base = CharField(constraints=[Check("nic_base IN ('PG','VG')")])
class Meta:
table_name = "recipe"
constraints = [
SQL(
"CHECK (base_pg_pct >= 0 AND base_vg_pct >= 0 AND (base_pg_pct + base_vg_pct) = 100)"
)
]
__all__ = ["Recipe"]