对于创建操作,使用表单数据,但在 Tortoise ORM 文档中他们使用 JSON,最佳实践是啥?

Posted

技术标签:

【中文标题】对于创建操作,使用表单数据,但在 Tortoise ORM 文档中他们使用 JSON,最佳实践是啥?【英文标题】:for create operation, form data is used but in Tortoise ORM documentation they are using JSON, what is the best practice?对于创建操作,使用表单数据,但在 Tortoise ORM 文档中他们使用 JSON,最佳实践是什么? 【发布时间】:2021-12-04 20:48:58 【问题描述】:

我正在尝试使用 FastAPI 和 Tortoise ORM 制作一个 Web App 项目

我想创建一个用户(注册),数据主要是前端发送的表单数据,FastAPI 文档确实告诉我们如何处理表单数据。

但是 Tortoise ORM 文档中的示例(FastAPI 示例)使用简单的 JSON 数据。

最佳做法是什么?我应该怎么做?

链接到 Tortoise ORM 和 FastAPI 示例:https://tortoise-orm.readthedocs.io/en/latest/examples/fastapi.html#main-py

PS:只是一个建议,我应该使用 Tortoise ORM 还是切换到另一个 ORM,因为 Tortoise 仍然是一个年轻的项目(请同时考虑我应该考虑哪个其他 ORM)

如果我写错了,请原谅我是网络开发的新手。

感谢您的时间和帮助。

【问题讨论】:

【参考方案1】:

您使用表单还是 JSON 取决于您的数据是从哪个上下文提交的。如果它是从常规 Web 表单提交的(即 form 作为 POST 操作提交),它将是表单数据。如果您正在使用前端框架或设计以编程方式使用的 API,那么使用 JSON 通常会更容易且更具表现力。两者都不是“更好”(尽管纯表单数据无法像 JSON 那样简单地表达层次结构),但这取决于上下文。

乌龟ORM应该没问题;它很受欢迎。其他选项是 SQLAlchemy、orm,或者可能是 SQLModel——它是由 FastAPI 的作者在 SQLAlchemy 之上构建的新 orm——设计用于 FastAPI。

【讨论】:

以上是关于对于创建操作,使用表单数据,但在 Tortoise ORM 文档中他们使用 JSON,最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章

SVN 的使用 Tortoise 的使用

Git的基本命令与Tortoise工具简化Git操作的使用

CF232E Quick Tortoise , Fzoj 3118

Sanic二十二:Sanic + tortoise-orm 之使用aerich执行数据库迁移

Tortoise 码云 ssh使用

Yii REST POST 在 POSTMAN 中不工作,但在框架中工作