mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 04:46:26 +00:00
feat: 实现软删除功能并添加相关字段
在全局类型定义、模型、CRUD操作中添加软删除支持 - 在BaseModel中添加is_deleted和deleted_time字段 - 在UserMixin中添加deleted_id和deleted_by关联 - 修改CRUDBase的delete和clear方法实现软删除逻辑 - 更新所有相关模型添加deleted_by字段 - 修改前端接口定义添加deleted_by字段 - 移除冗余的成功提示消息
This commit is contained in:
@@ -16,7 +16,7 @@ class ApplicationModel(ModelMixin, TenantMixin, UserMixin):
|
||||
|
||||
__tablename__: str = "app_portal"
|
||||
__table_args__: dict[str, str] = {"comment": "门户应用"}
|
||||
__loader_options__: list[str] = ["created_by", "updated_by"]
|
||||
__loader_options__: list[str] = ["created_by", "updated_by", "deleted_by"]
|
||||
|
||||
name: Mapped[str] = mapped_column(String(64), nullable=False, comment="应用名称")
|
||||
access_url: Mapped[str] = mapped_column(String(500), nullable=False, comment="访问地址")
|
||||
|
||||
@@ -37,7 +37,7 @@ class OperationLogModel(ModelMixin, UserMixin):
|
||||
|
||||
__tablename__: str = "sys_log"
|
||||
__table_args__: dict[str, str] = {"comment": "系统日志表"}
|
||||
__loader_options__: list[str] = ["created_by", "updated_by"]
|
||||
__loader_options__: list[str] = ["created_by", "updated_by", "deleted_by"]
|
||||
|
||||
type: Mapped[int] = mapped_column(Integer, comment="日志类型(1登录日志 2操作日志)")
|
||||
request_path: Mapped[str] = mapped_column(String(255), comment="请求路径")
|
||||
|
||||
@@ -11,7 +11,7 @@ class NoticeModel(ModelMixin, UserMixin):
|
||||
|
||||
__tablename__: str = "sys_notice"
|
||||
__table_args__: dict[str, str] = {"comment": "通知公告表"}
|
||||
__loader_options__: list[str] = ["created_by", "updated_by"]
|
||||
__loader_options__: list[str] = ["created_by", "updated_by", "deleted_by"]
|
||||
|
||||
notice_title: Mapped[str] = mapped_column(String(64), nullable=False, comment="公告标题")
|
||||
notice_type: Mapped[str] = mapped_column(
|
||||
|
||||
@@ -16,7 +16,7 @@ class PositionModel(ModelMixin, UserMixin):
|
||||
|
||||
__tablename__: str = "sys_position"
|
||||
__table_args__: dict[str, str] = {"comment": "岗位表"}
|
||||
__loader_options__: list[str] = ["users", "created_by", "updated_by"]
|
||||
__loader_options__: list[str] = ["users", "created_by", "updated_by", "deleted_by"]
|
||||
|
||||
name: Mapped[str] = mapped_column(String(64), nullable=False, comment="岗位名称")
|
||||
order: Mapped[int] = mapped_column(Integer, nullable=False, default=1, comment="显示排序")
|
||||
|
||||
@@ -57,5 +57,3 @@ class TenantCRUD(CRUDBase[TenantModel, TenantCreateSchema, TenantUpdateSchema]):
|
||||
|
||||
async def set_available_crud(self, ids: list[int], status: str) -> None:
|
||||
await self.set(ids=ids, status=status)
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ class TenantService:
|
||||
tenant_obj = await TenantCRUD(auth).create_crud(data=data)
|
||||
if not tenant_obj:
|
||||
raise CustomException(msg="创建租户失败")
|
||||
|
||||
|
||||
# 创建租户初始管理员
|
||||
# 1. 生成初始管理员用户名
|
||||
# 2. 检查用户名是否已存在
|
||||
|
||||
@@ -75,6 +75,7 @@ class UserModel(ModelMixin, TenantMixin, UserMixin):
|
||||
"positions",
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"deleted_by",
|
||||
]
|
||||
|
||||
username: Mapped[str] = mapped_column(
|
||||
|
||||
Reference in New Issue
Block a user