问题标签 [tortoise-orm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
28 浏览

fastapi - 乌龟ORM是否支持多态模型实现

我想在我的一个项目中使用 Tortoise ORM 和 Fastapi。我不确定乌龟 orm 是否支持像 sqlalchemy 这样的多态模型。我有谷歌,但没有任何相关文章。如果您用任何相关示例进行解释,那就太好了。提前致谢!!!

0 投票
1 回答
329 浏览

python - 使用 TortoiseOrm 作为数据库层测试 FastApi 应用程序的问题

我在使用 TortoiseOrm 作为数据库层测试 FastApi 应用程序时遇到问题。请在下面找到一个最小的可重现示例。该示例是一个带有 2 个端点的小型 API,它们接受get请求并返回虚拟数据。一个端点与数据库交互,而另一个则不。

我的主要问题是,当我在浏览器或 Postman 上与它们交互时,虽然两个端点都能正常工作,但与数据库交互的端点在测试期间会引发错误。请在下面找到完整的堆栈跟踪。由于我难以理解的原因,似乎 TortoiseOrm 在测试期间无法建立数据库连接。

pytest使用命令运行测试

主文件

数据库.py

test_main.py

堆栈跟踪

我该如何解决?你可以在这里找到 Github 上的完整代码。

0 投票
1 回答
564 浏览

python - 没有与模型问题 FastApi 和 Tortoise ORM & aerich 相关的数据库

我有一个由 FastApi 使用 Tortoise ORM 和 aerich 迁移制作的项目。Aerich 初始化成功完成,所有迁移也完成。在这里你可以看到我的 main.py:

这是放置 TORTOISE_MODELS_LIST 的 settings.py:

我在启动时没有问题,但是当我运行这个方法时:

我有这样奇怪的问题:

如何解决这个问题?Aerich 的工作似乎很酷……

0 投票
0 回答
95 浏览

tortoisesvn - 乌龟 ORM:空白 = 假。如何防止使用空字符串

我的乌龟 ORM 模型:

字段不能为空,但是当我使用以下数据创建对象时:

它仍然有效,并创建具有空值的对象。这也适用于 orm pydantic 模式。
在 Django 中有这样的blank属性。

如何解决?

0 投票
0 回答
359 浏览

python - tortoise.exceptions.ConfigurationError:未知数据库方案:postgresql 错误

我正在学习乌龟,并试图配置 Postgres,register_tortoise如下所示:

但我得到这个错误

有人可以帮我找出错误吗?

0 投票
0 回答
210 浏览

python - tortoise.exceptions.OperationalError:列关系的不存在错误

我正在尝试使用aerichwithtortoise来管理 sqlite 的迁移。当我aerich upgrade之后aerich migrate --name some_migration(这似乎成功创建了一个迁移文件)时,我收到了这个错误。

我所做的更改只是删除要测试的列。

迁移文件如下所示。

有人可以帮我吗?

0 投票
0 回答
40 浏览

python - aerich init-db 只创建一张表,但预计会创建多张表

我正在尝试添加多个表并使用aerich/管理迁移tortoise
但是,aerich init-db它只创建一个表(在这种情况下first_table)。

我将模块定义为:

我删除了所有表,包括 aerich 表。我通过删除 first_table 和 third_table 进行测试,modules=并尝试重新创建表,aerich init-db但它仍然创建 first_table。另外,如果我不使用 aerich (with register_tortoise(generate_schemas=False)),我可以创建多个表。有人可以帮我解决这个问题吗?

0 投票
0 回答
407 浏览

python - 使用 pydantic_model_creator 创建 pydantic 模型时从 m2m 关系中排除嵌套对象的字段?

假设以下 Tortoise-ORM 模型:

我想要实现的目标:我想为不包含
字段 的 Recipe 创建一个 PydanticModel ,如下所示: Ingredient.not_needed

我想到的一件事是使用计算属性,但我想知道是否还有其他更方便的方法来解决这个问题?

我尝试过的:
我尝试制作自定义 Pydantic Model 类:

但这会导致成分序列化过程中出现一些错误:“成分值不是有效列表

我认为问题在于,在序列化过程中,pydantic 通过引用 Recipe 对象上的“成分”字段来期望列表。事实上,这个字段是一个 M2MRelation 对象,其中有一个“related_objects”字段,里面是实际的(期望的)列表。

0 投票
1 回答
14 浏览

fastapi - 使用授权用户更新订单问题(FastAPI)

我不知道我在这里做错了什么。我想用订单 ID 更新订单,但我得到了TypeError: dict() takes exactly 1 positional argument (0 given). 但是,当我更新用户时它运行良好。

0 投票
0 回答
107 浏览

python - 如何在带有额外字段的 Tortoise ORM 中实现多对多模型?

我是 Tortoise ORM 的新手,一直在尝试为用户/组/角色实现一个简单的多对多模型

我试过的:

  1. 模型.py
  1. 主文件

要创建会员链接,我尝试使用 add() 但这失败了,因为我无法在关联表中合并额外的“角色”字段

结果出错

我试过直接创建会员

这有效,我已经能够检索每个组中的用户

这使

但是,我不知道如何检索关联表中用户的角色(会员)

感谢尝试实施此模型的任何帮助

  • 是否可以使用 add() 在组中添加新用户并指定角色?
  • 检索组中的用户列表时,如何检索成员中用户的角色?

谢谢,肯尼斯