SuperAPI AI 工具集

Backend Models Standards

编程与开发

查看项目

更新于 10-16 00:30

技能介绍

用途:为创建或修改数据库模型文件(models.py、models/、schema.prisma 等)、定义 ORM 类、建立表关系、配置外键与索引、实现模型级校验、添加时间戳字段、设置数据库约束、选择字段类型、权衡范式化与查询性能、定义常用查询方法或作用域时提供编码规范。

主要能力与规则:命名上模型用单数 PascalCase(User、OrderItem),表用复数 snake_case(users、order_items),关系名要清晰(user.orders、product.categories),避免 data、info、record 等泛化名。每个模型需显式主键,并包含 created_at、updated_at 时间戳,用于审计、调试、数据血缘与软删除。数据完整性应在数据库层用约束实现,如 NOT NULL、UNIQUE、CHECK 以及带显式级联行为的外键(ondelete='CASCADE'),形成纵深防御。字段类型要恰当:邮箱/URL 用 VARCHAR(255) 而非 TEXT,金额用 DECIMAL(10,2) 而非 FLOAT,布尔用 BOOLEAN,时间用 TIMESTAMP/DATETIME,JSON 用 JSON/JSONB,UUID 用 UUID。索引应覆盖主键、外键、WHERE、JOIN、ORDER BY 涉及的列,但避免过度索引拖慢写入。关系需双向定义(back_populates),级联可选 CASCADE、SET NULL、RESTRICT、NO ACTION,按业务逻辑选择。校验分两层:模型级校验提供清晰错误信息,数据库级约束防止绕过应用造成的数据损坏。模型内只放字段、关系、简单 property、校验与约束,不放业务逻辑、外部 API 调用、复杂计算、发邮件或上传文件。默认范式化,仅在确有性能证据时反范式化。常见模式包括软删除(deleted_at)、固定值用 Enum、尽量避免多态关联。测试需覆盖约束、唯一性与级联删除。

限制:资料未提供具体安装命令、收费方式、支持平台或版本要求,暂未提供。