对于创建操作,使用表单数据,但在 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-pyPS:只是一个建议,我应该使用 Tortoise ORM 还是切换到另一个 ORM,因为 Tortoise 仍然是一个年轻的项目(请同时考虑我应该考虑哪个其他 ORM)
如果我写错了,请原谅我是网络开发的新手。
感谢您的时间和帮助。
【问题讨论】:
【参考方案1】:您使用表单还是 JSON 取决于您的数据是从哪个上下文提交的。如果它是从常规 Web 表单提交的(即 form
作为 POST 操作提交),它将是表单数据。如果您正在使用前端框架或设计以编程方式使用的 API,那么使用 JSON 通常会更容易且更具表现力。两者都不是“更好”(尽管纯表单数据无法像 JSON 那样简单地表达层次结构),但这取决于上下文。
乌龟ORM应该没问题;它很受欢迎。其他选项是 SQLAlchemy、orm,或者可能是 SQLModel——它是由 FastAPI 的作者在 SQLAlchemy 之上构建的新 orm——设计用于 FastAPI。
【讨论】:
以上是关于对于创建操作,使用表单数据,但在 Tortoise ORM 文档中他们使用 JSON,最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章
CF232E Quick Tortoise , Fzoj 3118