add shipment forms and start contract from form

This commit is contained in:
2026-02-13 01:12:42 +01:00
parent fe27595931
commit ef7403f213
20 changed files with 553 additions and 312 deletions

View File

@@ -100,13 +100,13 @@ class FormPublic(FormBase):
id: int
productor: ProductorPublic | None
referer: User | None
shipments: list["Shipment"] = []
shipments: list["ShipmentPublic"] = []
class Form(FormBase, table=True):
id: int | None = Field(default=None, primary_key=True)
productor: Optional['Productor'] = Relationship()
referer: Optional['User'] = Relationship()
shipments: list["Shipment"] = Relationship(cascade_delete=True)
shipments: list["Shipment"] = Relationship(back_populates="form", cascade_delete=True)
class FormUpdate(SQLModel):
name: str | None
@@ -157,15 +157,18 @@ class ShipmentBase(SQLModel):
class ShipmentPublic(ShipmentBase):
id: int
products: list[Product] = []
form: Form | None
class Shipment(ShipmentBase, table=True):
id: int | None = Field(default=None, primary_key=True)
products: list[Product] = Relationship(back_populates="shipments", link_model=ShipmentProductLink)
form: Optional[Form] = Relationship(back_populates="shipments")
class ShipmentUpdate(SQLModel):
name: str | None
date: str | None
product_ids: list[int] = []
product_ids: list[int] | None = []
class ShipmentCreate(ShipmentBase):
product_ids: list[int] | None
product_ids: list[int] = []
form_id: int