FastAPI Tortois-ORM 字典形式返回模型对象

文章介绍了如何在FastAPI和Tortoise-ORM框架中将模型对象转换为Python字典,提供了两种方法:一种是在模型类中定义to_dict()方法,另一种是通过通用的model_to_dict()函数。同时提到了FastAPI的response_model参数来自动处理序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 FastAPI 和 Tortoise-ORM 中,可以使用 Tortoise-ORM 提供的 to_dict() 方法,将模型对象转换为 Python 字典表示。以下是一个示例:只需在模型类中添加以下代码:

from fastapi import FastAPI
from tortoise import fields
from tortoise.models import Model
from tortoise.contrib.fastapi import register_tortoise

class User(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=50)
    email = fields.CharField(max_length=255)

    def to_dict(self):
        return {
            "id": self.id,
            "name": self.name,
            "email": self.email,
        }

app = FastAPI()

register_tortoise(
    app,
    db_url="sqlite://db.sqlite3",
    modules={"models": ["__main__"]},
    generate_schemas=True,
    add_exception_handlers=True,
)

@app.get("/users/{user_id}")
async def get_user(user_id: int):
    user = await User.get(id&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值