feat: PosModel 关联查询得到所属组织信息

This commit is contained in:
martsforever
2025-08-23 10:08:40 +08:00
parent ff3d6b24a3
commit 47c05e66c6
+31 -29
View File
@@ -47,37 +47,39 @@ class PosModel(BasicModel, table=True):
def parent_name(self, value: Optional[str]) -> None: def parent_name(self, value: Optional[str]) -> None:
pass pass
# # /*---------------------------------------organization_code-------------------------------------------*/ # /*---------------------------------------organization_code-------------------------------------------*/
#
# organization_code: str = Field( organization_code: str = Field(
# default=None, default=None,
# description="所属组织编码", description="所属组织编码",
# foreign_key="pl_org.code", # 添加外键约束 foreign_key="pl_org.code", # 添加外键约束
# nullable=True nullable=True
# ) )
#
# organization: Optional["OrgModel"] = Relationship( organization: Optional["OrgModel"] = Relationship(
# sa_relationship_kwargs={ sa_relationship_kwargs={
# "foreign_keys": "PosModel.organization_code", "foreign_keys": "PosModel.organization_code",
# "remote_side": "OrgModel.code", "remote_side": "OrgModel.code",
# "uselist": False "uselist": False
# } }
# ) )
#
# @computed_field @computed_field
# @property @property
# def organization_name(self) -> Optional[str]: def organization_name(self) -> Optional[str]:
# try: try:
# return self.organization.name if self.organization else None return self.organization.name if self.organization else None
# except: except:
# return None return None
#
# @organization_name.setter @organization_name.setter
# def organization_name(self, value: Optional[str]) -> None: def organization_name(self, value: Optional[str]) -> None:
# pass pass
PosService = create_model_service( PosService = create_model_service(
Cls=PosModel, Cls=PosModel,
custom_query=lambda: select(PosModel).options(selectinload(PosModel.parent)), custom_query=(lambda: select(PosModel)
.options(selectinload(PosModel.parent))
.options(selectinload(PosModel.organization))),
) )