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

0 阅读3分钟

1.侧栏菜单选择“Python”:

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

004.jpg 2.在“深色模式”下预览生成的Python项目代码:

0041.jpg 以下展示部分工程代码,领域类代码如下,可以感受一下使用审计字段设计领域类后自动增加的字段:

订单领域类
@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=["请加急发货急用。"])
    

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