mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 12:52:26 +00:00
refactor(generator): 优化代码生成模块接口和服务实现
- 修改接口定义,增加路径参数并完善请求描述,增强参数校验和依赖注入 - 优化CRUD层数据库操作,统一异步会话使用,删除多余db参数 - 增加业务表与字段模型关系级联删除配置,优化模型关联关系声明 - 精简pydantic模型,去除冗余校验装饰器,完善字段描述和必填约束 - 服务层增加类型检查和异常抛出,规范业务逻辑流程和错误提示 - 优化代码结构,调整模块导入顺序和注释,提升代码可读性和一致性
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
from typing import Optional, List
|
||||
from sqlalchemy import String, Integer, ForeignKey
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship, declared_attr
|
||||
|
||||
from app.core.base_model import CreatorMixin
|
||||
|
||||
@@ -30,7 +30,13 @@ class GenTableModel(CreatorMixin):
|
||||
gen_path: Mapped[Optional[str]] = mapped_column(String(200), nullable=True, default='/', comment='生成路径(不填默认项目路径)')
|
||||
options: Mapped[Optional[str]] = mapped_column(String(1000), nullable=True, comment='其它生成选项')
|
||||
|
||||
columns: Mapped[List['GenTableColumnModel']] = relationship('GenTableColumnModel', order_by='GenTableColumnModel.sort', back_populates='table')
|
||||
# 关系定义
|
||||
columns: Mapped[List['GenTableColumnModel']] = relationship(
|
||||
'GenTableColumnModel',
|
||||
order_by='GenTableColumnModel.sort',
|
||||
back_populates='table',
|
||||
cascade='all, delete-orphan'
|
||||
)
|
||||
|
||||
|
||||
class GenTableColumnModel(CreatorMixin):
|
||||
@@ -58,5 +64,16 @@ class GenTableColumnModel(CreatorMixin):
|
||||
dict_type: Mapped[Optional[str]] = mapped_column(String(200), nullable=True, default='', comment='字典类型')
|
||||
sort: Mapped[Optional[int]] = mapped_column(Integer, nullable=True, comment='排序')
|
||||
|
||||
table_id: Mapped[Optional[int]] = mapped_column(Integer, ForeignKey('gen_table.id'), nullable=True, comment='归属表编号')
|
||||
table: Mapped['GenTableModel'] = relationship('GenTableModel', back_populates='columns')
|
||||
# 外键关系
|
||||
table_id: Mapped[Optional[int]] = mapped_column(
|
||||
Integer,
|
||||
ForeignKey('gen_table.id', ondelete='CASCADE'),
|
||||
nullable=True,
|
||||
comment='归属表编号'
|
||||
)
|
||||
|
||||
# 关系定义
|
||||
table: Mapped['GenTableModel'] = relationship(
|
||||
'GenTableModel',
|
||||
back_populates='columns'
|
||||
)
|
||||
Reference in New Issue
Block a user