Files
FastapiAdmin/backend/app/api/v1/module_system/position/model.py
T
zhangtao 53c8f67bd5 refactor: 移除多租户相关逻辑并清理冗余代码
本次提交完成以下主要变更:
1.  删除所有租户相关的初始化数据、配置和工具代码
2.  移除TicketModel的租户关联字段与校验逻辑
3.  重构菜单表名与关联外键,统一为sys_前缀
4.  为岗位、部门、工作流等模型添加唯一约束
5.  调整导入顺序与冗余代码,优化代码结构
6.  移除支付、PDF生成相关的依赖与工具类
7.  简化OpenAPI文档标签配置
8.  清理无效的枚举与冗余导入
2026-07-17 01:07:17 +08:00

31 lines
1.2 KiB
Python

from typing import TYPE_CHECKING
from sqlalchemy import Integer, String, Text
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.core.base_model import ModelMixin, UserMixin
if TYPE_CHECKING:
from app.api.v1.module_system.user.model import UserModel
class PositionModel(ModelMixin, UserMixin):
"""岗位模型"""
__tablename__: str = "sys_position"
__table_args__: dict[str, str] = {"comment": "岗位表"}
__loader_options__: list[str] = ["users", "created_by", "updated_by", "deleted_by"]
name: Mapped[str] = mapped_column(String(64), nullable=False, comment="岗位名称")
code: Mapped[str] = mapped_column(String(64), unique=True, nullable=False, comment="岗位编码")
order: Mapped[int] = mapped_column(Integer, nullable=False, default=1, comment="显示排序")
status: Mapped[int] = mapped_column(Integer, default=0, nullable=False, comment="状态(0:启动 1:停用)", index=True)
description: Mapped[str | None] = mapped_column(Text, default=None, nullable=True, comment="备注")
# 关联关系
users: Mapped[list["UserModel"]] = relationship(
secondary="sys_user_positions",
back_populates="positions",
lazy="selectin",
)