接口实现第二步骤
·
接口实现流程
- 模块化路由 -> API 接口规范文档
- 定义模型类 -> 数据库表 (数据库设计文档)
- 在 crud 文件夹里面创建文件,封装操作数据库的方法
-
在路由处理函数里面调用 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})>"
更多推荐
所有评论(0)