写点什么

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

  • 2025-05-21
    广东
  • 本文字数:3441 字

    阅读完需:约 11 分钟

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

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

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

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

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


"""订单领域类@author 极客学院@date 2025/03/20"""from typing import Optionalfrom datetime import datetimefrom decimal import Decimalfrom sqlmodel import SQLModel, Fieldfrom 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 Decimalimport refrom pydantic import BaseModel, Field, field_validator, model_validatorfrom 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 类代码:

"""新增订单的表单校验DTO@author 极客学院@date 2025/03/20"""from decimal import Decimalimport refrom pydantic import BaseModel, Field, field_validator, model_validatorfrom 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
复制代码

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


用户头像

还未添加个人签名 2025-04-29 加入

还未添加个人简介

评论

发布
暂无评论
AI 极客低代码平台快速上手 --生成Python代码_Java_华哥的全栈次元舱_InfoQ写作社区