feat: pos model关联查询父职位信息
This commit is contained in:
+29
-2
@@ -1,4 +1,7 @@
|
||||
from sqlmodel import Field
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import computed_field
|
||||
from sqlmodel import Field, Relationship
|
||||
|
||||
from app.model.BasicModel import BasicModel
|
||||
from app.utils.create_module_service import create_model_service
|
||||
@@ -9,9 +12,33 @@ class PosModel(BasicModel, table=True):
|
||||
|
||||
name: str = Field(default=None, description="职位名称")
|
||||
code: str = Field(default=None, description="职位编码")
|
||||
parent_code: str = Field(default=None, description="父职位编码")
|
||||
# parent_code: str = Field(default=None, description="父职位编码")
|
||||
organization_code: str = Field(default=None, description="所属组织编码")
|
||||
remarks: str = Field(default=None, description="备注信息")
|
||||
|
||||
parent_code: str = Field(
|
||||
default=None,
|
||||
description="职位编码",
|
||||
foreign_key="pl_pos.code", # 添加外键约束
|
||||
nullable=True
|
||||
)
|
||||
|
||||
parent: Optional["PosModel"] = Relationship(
|
||||
sa_relationship_kwargs={
|
||||
"foreign_keys": "PosModel.parent_code",
|
||||
"remote_side": "PosModel.code",
|
||||
"uselist": False
|
||||
}
|
||||
)
|
||||
|
||||
@computed_field
|
||||
@property
|
||||
def parent_name(self) -> Optional[str]:
|
||||
return self.parent.name if self.parent else None
|
||||
|
||||
@parent_name.setter
|
||||
def parent_name(self, value: Optional[str]) -> None:
|
||||
pass
|
||||
|
||||
|
||||
PosService = create_model_service(PosModel)
|
||||
|
||||
Reference in New Issue
Block a user