diff --git a/app/model/PosModel.py b/app/model/PosModel.py index 8e1727a..797c5f5 100644 --- a/app/model/PosModel.py +++ b/app/model/PosModel.py @@ -47,37 +47,39 @@ class PosModel(BasicModel, table=True): def parent_name(self, value: Optional[str]) -> None: pass - # # /*---------------------------------------organization_code-------------------------------------------*/ - # - # organization_code: str = Field( - # default=None, - # description="所属组织编码", - # foreign_key="pl_org.code", # 添加外键约束 - # nullable=True - # ) - # - # organization: Optional["OrgModel"] = Relationship( - # sa_relationship_kwargs={ - # "foreign_keys": "PosModel.organization_code", - # "remote_side": "OrgModel.code", - # "uselist": False - # } - # ) - # - # @computed_field - # @property - # def organization_name(self) -> Optional[str]: - # try: - # return self.organization.name if self.organization else None - # except: - # return None - # - # @organization_name.setter - # def organization_name(self, value: Optional[str]) -> None: - # pass + # /*---------------------------------------organization_code-------------------------------------------*/ + + organization_code: str = Field( + default=None, + description="所属组织编码", + foreign_key="pl_org.code", # 添加外键约束 + nullable=True + ) + + organization: Optional["OrgModel"] = Relationship( + sa_relationship_kwargs={ + "foreign_keys": "PosModel.organization_code", + "remote_side": "OrgModel.code", + "uselist": False + } + ) + + @computed_field + @property + def organization_name(self) -> Optional[str]: + try: + return self.organization.name if self.organization else None + except: + return None + + @organization_name.setter + def organization_name(self, value: Optional[str]) -> None: + pass PosService = create_model_service( Cls=PosModel, - custom_query=lambda: select(PosModel).options(selectinload(PosModel.parent)), + custom_query=(lambda: select(PosModel) + .options(selectinload(PosModel.parent)) + .options(selectinload(PosModel.organization))), )