Files
FastapiAdmin/backend/templates/python/schema.py.j2
T
zhangtao 1dc8e4f3e2 refactor(gencode): 重构代码生成模块,优化模板和查询逻辑
重构代码生成模块的模板文件,统一命名规范为下划线风格
优化GenTableQueryParam查询参数类,移除不必要的字段
修复SQLite数据库支持问题,改进表结构查询逻辑
添加数据验证处理,防止空值导致的异常
改进批量生成代码时的错误处理和参数校验
2025-10-04 23:38:42 +08:00

42 lines
1.4 KiB
Django/Jinja

# -*- coding:utf-8 -*-
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from app.core.base_schema import BaseSchema
class {{ table_name|snake_to_pascal_case }}CreateSchema(BaseModel):
"""
{{ function_name }}新增模型
"""
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
{% for column in columns %}
{{ column.column_name }}: Optional[{{ column.python_type }}] = Field(default=None, description='{{ column.column_comment }}')
{% endfor %}
class {{ table_name|snake_to_pascal_case }}UpdateSchema({{ table_name|snake_to_pascal_case }}CreateSchema):
"""
{{ function_name }}更新模型
"""
pass
class {{ table_name|snake_to_pascal_case }}OutSchema({{ table_name|snake_to_pascal_case }}CreateSchema, BaseSchema):
"""
{{ function_name }}响应模型
"""
model_config = ConfigDict(from_attributes=True)
id: Optional[int] = Field(default=None, description='编号')
create_by: Optional[str] = Field(default=None, description='创建者')
create_time: Optional[datetime] = Field(default=None, description='创建时间')
update_by: Optional[str] = Field(default=None, description='更新者')
update_time: Optional[datetime] = Field(default=None, description='更新时间')
remark: Optional[str] = Field(default=None, description='备注')