From 0710965b03213b382d364413c61320ef0a9624af Mon Sep 17 00:00:00 2001 From: martsforever Date: Sat, 23 Aug 2025 11:03:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UserServiceModel=E5=85=B3=E8=81=94?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=87=BA=E6=9D=A5=E7=BB=84=E7=BB=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/model/UserModel.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/model/UserModel.py b/app/model/UserModel.py index 613fcb9..69e8a03 100644 --- a/app/model/UserModel.py +++ b/app/model/UserModel.py @@ -63,9 +63,22 @@ class UserServiceModel(PublicUser, table=True): def pos_name(self, value: Optional[str]) -> None: pass + @computed_field + @property + def org_name(self) -> Optional[str]: + organization = self.position.organization if self.position else None + return organization.name if organization else None + + @org_name.setter + def org_name(self, value: Optional[str]) -> None: + pass + UserService = create_model_service( Cls=UserServiceModel, custom_query=(lambda: select(UserServiceModel) - .options(selectinload(UserServiceModel.position))) + .options( + selectinload(UserServiceModel.position). + selectinload(PosModel.organization) + )) )