当前位置: 首页 > news >正文

使用Tortoise-ORM和FastAPI构建评论系统


title: 使用Tortoise-ORM和FastAPI构建评论系统
date: 2025/04/25 21:37:36
updated: 2025/04/25 21:37:36
author: cmdragon

excerpt:
在models.py中定义了Comment模型,包含id、content、created_at、updated_at字段,并与User和Article模型建立外键关系。schemas.py中定义了CommentBase、CommentCreate、CommentUpdate和CommentResponse等Pydantic模型,用于数据验证和响应。路由层实现了创建、获取和删除评论的API,使用get_or_none处理不存在的评论,并捕获异常。测试接口通过requests进行创建和异常测试。常见报错包括外键约束失败、验证错误和事件循环未关闭,需检查外键值、请求体匹配和正确关闭事件循环。

categories:

  • 后端开发
  • FastAPI

tags:

  • Tortoise-ORM
  • Pydantic
  • FastAPI
  • 评论系统
  • 数据库模型
  • 数据验证
  • 接口测试

cmdragon_cn.png cmdragon_cn.png

扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长

探索数千个预构建的 AI 应用,开启你的下一个伟大创意:https://tools.cmdragon.cn/

一、Tortoise-ORM模型定义

我们首先在models.py中定义评论模型:

from tortoise.models import Model
from tortoise import fieldsclass Comment(Model):id = fields.IntField(pk=True)content = fields.TextField()created_at = fields.DatetimeField(auto_now_add=True)updated_at = fields.DatetimeField(auto_now=True)# 外键关系user = fields.ForeignKeyField('models.User', related_name='comments')article = fields.ForeignKeyField('models.Article', related_name='comments')class Meta:table = "comments"indexes = ("created_at", "user_id", "article_id")def __str__(self):return f"Comment {self.id} by 

相关文章:

  • RDK X3新玩法:超沉浸下棋机器人开发日记
  • 通过VSCode远程连接到CentOS7/Ubuntu18等老系统
  • 单精度浮点运算/定点运算下 MATLAB (VS) VIVADO
  • 【大语言模型】大语言模型(LLMs)在工业缺陷检测领域的应用
  • AD相同网络的铜皮和导线连接不上
  • 泽众TestOne精准测试:助力软件开发质量新升级
  • VS Code搭建C/C++开发环境
  • 设置Rocky Linux盒盖不休眠的3个简单步骤
  • 第TR5周:Transformer实战:文本分类
  • MySQL 表结构及日志文件详解
  • 树莓派4B+Ubuntu24.04 电应普超声波传感器串口输出 保姆级教程
  • 国产AI大模型超深度横评:技术参数全解、商业落地全场景拆解
  • Theadlocal内存泄露?没那么夸张
  • 5.1 LangChain:功能强大的框架,适用于构建复杂的LLM驱动应用
  • InDraw:全能化学结构式编辑器,跨平台兼容+AI识别+中文IUPAC命名
  • leetcode0108. 将有序数组转换为二叉搜索树-medium
  • U-Mail邮件加速服务:全球链路加速,安全稳定收发
  • c#操作excel表格
  • inline小知识
  • 深入理解Java基本类型
  • 我驻美使馆:中美并没有就关税问题磋商谈判,更谈不上达成协议
  • 内蒙古纪检干部刘占波履新呼和浩特,曾参与涉煤腐败倒查20年工作
  • 珠海市香洲区原区长刘齐英落马,此前已被终止省人大代表资格
  • 两部门:推动“青年驿站”为毕业生跨地区求职提供住宿优惠便利
  • 民生访谈|公共数据如何既开放又安全?政务领域如何适度运用人工智能?
  • 猿辅导回应一员工离世:发生意外期间其所在团队没有安排加班