AI 极客低代码平台快速上手 --生成Python代码

1.侧栏菜单选择"Python":

点击代码区右上角的"代码魔法棒"图标,在弹出的确认面板中点击"确认"按钮,一秒生成基于FastApi最新框架版本的项目工程。

2.在"深色模式"下预览生成的Python项目代码:

2.在"深色模式"下预览生成的Python项目代码:

`"""

订单领域类

@author 极客学院

@date 2025/03/20

"""

from typing import Optional

from datetime import datetime

from decimal import Decimal

from sqlmodel import SQLModel, Field

from sqlalchemy import Column, BigInteger, DateTime, String, Boolean, Numeric

class Order(SQLModel, table=True):

"""

订单

"""
tablename = "tbl_order"

复制代码
orderId: Optional[int] = Field(
    default=None,
    sa_column=Column("id", BigInteger, primary_key=True, autoincrement=True),
    description="订单ID"
)
orderNum: str = Field(
    sa_column=Column("order_num", String(50), nullable=False),
    description="订单号"
)
amount: Decimal = Field(
    sa_column=Column("amount", Numeric(10, 2), nullable=False),
    description="订单金额"
)
memo: str = Field(
    sa_column=Column("memo", String(50), nullable=False),
    description="订单描述"
)
creationTime: datetime = Field(
    default_factory=datetime.now,
    sa_column=Column("creation_time", DateTime, nullable=False),
    description="创建时间"
)
creatorId: int = Field(
    sa_column=Column("creator_id", BigInteger, nullable=False),
    description="创建者ID"
)
creator: str = Field(
    sa_column=Column("creator", String(255), nullable=False),
    description="创建者"
)
lastModificationTime: Optional[datetime] = Field(
    default=None,
    sa_column=Column("last_modification_time", DateTime, nullable=True),
    description="最近修改时间"
)
lastModifierId: Optional[int] = Field(
    default=None,
    sa_column=Column("last_modifier_id", BigInteger, nullable=True),
    description="最近修改者ID"
)
lastModifier: Optional[str] = Field(
    default=None,
    sa_column=Column("last_modifier", String(255), nullable=True),
    description="最近修改者"
)
isDeleted: bool = Field(
    default=False,
    sa_column=Column("is_deleted", Boolean, nullable=False),
    description="已删除"
)
deletionTime: Optional[datetime] = Field(
    default=None,
    sa_column=Column("deletion_time", DateTime, nullable=True),
    description="删除时间"
)
deleterId: Optional[int] = Field(
    default=None,
    sa_column=Column("deleter_id", BigInteger, nullable=True),
    description="删除者ID"
)
deleter: Optional[str] = Field(
    default=None,
    sa_column=Column("deleter", String(255), nullable=True),
    description="删除者"
)

DTO类代码:"""

新增订单的表单校验DTO

@author 极客学院

@date 2025/03/20

"""

from decimal import Decimal

import re

from pydantic import BaseModel, Field, field_validator, model_validator

from common.validation_utils import ValidationUtils

class OrderCreateDTO(BaseModel):

"""

新增订单的表单校验DTO

"""

orderNum: str = Field(

description="订单号:不能为空,最长不能超过50个字符",

examples="4624849630"

)

amount: Decimal = Field(

description="订单金额:不能为null,必须大于或等于0.00,必须小于或等于100.00,数字的值只允许在10位整数和2位小数范围内",

examples="80.16"

)

memo: str = Field(

description="订单描述:不能为空,最长不能超过50个字符",

examples="请加急发货急用。"

)

复制代码
@model_validator(mode='before')
def check_required_fields(cls, values):
    field_name_map = {
        'orderNum': '订单号',
        'amount': '订单金额',
        'memo': '订单描述',
    }
    return ValidationUtils.check_required_fields(values, field_name_map)

@field_validator('orderNum')
def order_num_validate(cls, v):
    if v is None or not v.strip():
        raise ValueError('订单号:不能为空')
    if len(v) > 50:
        raise ValueError('订单号:最长不能超过50个字符')
    return v

@field_validator('amount')
def amount_validate(cls, v):
    if v is not None and v < 0.00:
        raise ValueError('订单金额:必须大于或等于0.00')
    if v is not None and v > 100.00:
        raise ValueError('订单金额:必须小于或等于100.00')
    value_str = str(v)
    if not re.match(r'^\d{1,10}(\.\d{1,2})?$', value_str):
        raise ValueError('订单金额:数字的值只允许在10位整数和2位小数范围内')
    return v

@field_validator('memo')
def memo_validate(cls, v):
    if v is None or not v.strip():
        raise ValueError('订单描述:不能为空')
    if len(v) > 50:
        raise ValueError('订单描述:最长不能超过50个字符')
    return v

`

VO类代码:

`"""

订单信息实体

@author 极客学院

@date 2025/03/20

"""

from decimal import Decimal

from pydantic import BaseModel, Field

class OrderVO(BaseModel):

"""

订单信息实体

"""

orderId: int = Field(description="订单ID", examples="1")

orderNum: str = Field(description="订单号", examples="4624849630")

amount: Decimal = Field(description="订单金额", examples="80.16")

memo: str = Field(description="订单描述", examples="请加急发货急用。")`

详细操作可去官网免费体验

相关推荐
不正经学生3 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技3 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
lilian2336 小时前
HarmonyOS 7 新特性(二十五)|智慧手势:意图识别与误触治理
华为·harmonyos
恋恋西风6 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx6 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_7 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_7 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu7 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦8 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
贾伟康8 小时前
【时光清单|14】HarmonyOS ArkTS 主导航实战:统一页面入口、返回路径和参数校验
harmonyos·arkts·arkui·navigation·路由管理