feat(generate): 优化代码生成逻辑

- 新增公共字段配置,统一处理常见字段的生成规则
- 修复模板中的一些错误,如变量名、函数名等
- 优化代码结构,提高可读性和可维护性
This commit is contained in:
2025-07-01 23:40:43 +08:00
parent bd13f1cfdc
commit 1c316594f5
10 changed files with 568 additions and 175 deletions

View File

@@ -79,7 +79,7 @@ async def delete_{{ name }}_list(request: Request, params: DeleteListParams):
async def update_{{ name }}(request: Request, params: Update{{ class_name }}Params, id: str = Path(description="{{ description }}ID")):
if {{ name }} := await {{ class_name }}.get_or_none(id=id, del_flag=1):
{% for column in columns if column.is_edit %}
{{ name }}.{{ column.python_name }} = params.{{ column.python_name }},
{{ name }}.{{ column.python_name }} = params.{{ column.python_name }}
{% endfor %}
await {{ name }}.save()
return Response.success(msg="修改成功")

View File

@@ -14,7 +14,7 @@ class {{ class_name }}(BaseModel):
"""
{{ table_comment }}模型
"""
{% for column in columns %}
{% for column in columns if column.is_common == false %}
{%- set params = [] %}
{%- if column.max_length is not none %}{% set params = params + ["max_length=" ~ column.max_length] %}{% endif %}
{%- if column.is_nullable %}{% set params = params + ["null=True"] %}{% endif %}

View File

@@ -14,7 +14,7 @@ from schemas.common import BaseResponse, ListQueryResult
class {{ class_name }}Info(BaseModel):
"""{{ description }}信息"""
model_config = ConfigDict(alias_generator=to_snake, populate_by_name=True)
{% for column in columns %}
{% for column in columns if column.is_list %}
{{ column.python_name }}: {% if not column.is_required %}Optional[{% endif %}{{ column.python_type }}{% if not column.is_required %}]{% endif %} = Field(
{% if column.default is not none %}default={{ column.default }}, {% endif %}title="{{ column.column_comment }}"
)
@@ -46,6 +46,6 @@ class Get{{ class_name }}InfoListResult(ListQueryResult):
"""获取{{ description }}信息列表响应结果"""
result: List[{{ class_name }}Info] = Field(None, title="{{ table_comment }}信息列表")
class Get{{ class_name }}InfoListResponse(BaseResponse):
class Get{{ class_name }}ListResponse(BaseResponse):
"""获取{{ description }}信息列表响应"""
data: Get{{ class_name }}InfoListResult = Field(None, title="{{ table_comment }}信息列表")