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) + )) )