接口实现流程

  1. 模块化路由 -> API 接口规范文档
  2. 定义模型类 -> 数据库表 (数据库设计文档)
  3. 在 crud 文件夹里面创建文件,封装操作数据库的方法
  4. 在路由处理函数里面调用 crud 封装好的方法,响应结果


定义模型类规范

  • 基类,继承DeclarativeBase
  • 数据库表模型类,继承基类(属性及类型参照数据库表定义)
  • 以下为导包代码:
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
from datetime import datetime
from tokenize import String
from sqlalchemy import DateTime, Integer
class Base(DeclarativeBase):
    created_at: Mapped[datetime] = mapped_column(
        DateTime,
        default=datetime.now,
        comment="创建时间"
    )
    updated_at: Mapped[datetime] = mapped_column(
        DateTime,
        default=datetime.now,
        onupdate=datetime.now,
        comment="更新时间"
    )
#要根据实际的数据库表进行表模型定义,以下示例
class Category(Base):  #类名根据实际修改
    __tablename__ = "news_category"   #表名一定要与数据库表名称一致
    
    #以下为各个字段,根据实际修改
    id:Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True,comment="分类ID")
    name:Mapped[str] = mapped_column(String(50),unique=True,nullable=False,comment="分类名称")
    sort_order:Mapped[int] = mapped_column(Integer,default=0,nullable=False,comment="排序")

    #容易观察具体的数据,可选
    def __repr__(self):
        return f"<Category(id={self.id}, name={self.name}, sort_order={self.sort_order})>"

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐