diff --git a/src/equipment/__pycache__/schema.cpython-311.pyc b/src/equipment/__pycache__/schema.cpython-311.pyc index 8e257be..e9461c1 100644 Binary files a/src/equipment/__pycache__/schema.cpython-311.pyc and b/src/equipment/__pycache__/schema.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/model.cpython-311.pyc b/src/equipment_master/__pycache__/model.cpython-311.pyc index 7f2575c..1f317bf 100644 Binary files a/src/equipment_master/__pycache__/model.cpython-311.pyc and b/src/equipment_master/__pycache__/model.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/schema.cpython-311.pyc b/src/equipment_master/__pycache__/schema.cpython-311.pyc index bdbe183..18e3728 100644 Binary files a/src/equipment_master/__pycache__/schema.cpython-311.pyc and b/src/equipment_master/__pycache__/schema.cpython-311.pyc differ diff --git a/src/equipment_master/model.py b/src/equipment_master/model.py index d396928..f9d64ba 100644 --- a/src/equipment_master/model.py +++ b/src/equipment_master/model.py @@ -44,10 +44,13 @@ class EquipmentMaster(Base, DefaultMixin): "EquipmentMaster", backref=backref("parent", remote_side=[id]), lazy="selectin" ) - # equipment_tree = relationship( - # "EquipmentTree", - # back_populates="equipment_master" - # ) + equipment_tree = relationship( + "EquipmentTree", + lazy="selectin", + primaryjoin="and_(EquipmentTree.id == foreign(EquipmentMaster.equipment_tree_id))", + viewonly=True, + uselist=False, + ) class EquipmentTree(Base, DefaultMixin): diff --git a/src/equipment_master/schema.py b/src/equipment_master/schema.py index 2adce2a..ed7baf1 100644 --- a/src/equipment_master/schema.py +++ b/src/equipment_master/schema.py @@ -1,4 +1,3 @@ - from datetime import datetime from typing import ForwardRef, List, Optional from uuid import UUID @@ -18,20 +17,27 @@ class EquipmentMasterCreate(EquipmentMasterBase): pass +class EquipmentTree(DefaultBase): + level_no: Optional[int] = Field(None, nullable=True) + name: Optional[str] = Field(None, nullable=True) + + class EquipmentMasterUpdate(EquipmentMasterBase): pass -EquipmentMasterReadRef = ForwardRef('EquipmentMasterRead') + +EquipmentMasterReadRef = ForwardRef("EquipmentMasterRead") + class EquipmentMasterRead(EquipmentMasterBase): id: UUID equipment_tree_id: Optional[UUID] = Field(None, nullable=True) + equipment_tree: EquipmentTree category_id: Optional[UUID] = Field(None, nullable=True) system_tag: Optional[str] = Field(None, nullable=True) assetnum: Optional[str] = Field(None, nullable=True) location_tag: Optional[str] = Field(None, nullable=True) - children: List[EquipmentMasterReadRef] # type: ignore - + children: List[EquipmentMasterReadRef] # type: ignore class EquipmentMasterPaginated(Pagination):