问题标签 [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.
fastapi - 乌龟ORM是否支持多态模型实现
我想在我的一个项目中使用 Tortoise ORM 和 Fastapi。我不确定乌龟 orm 是否支持像 sqlalchemy 这样的多态模型。我有谷歌,但没有任何相关文章。如果您用任何相关示例进行解释,那就太好了。提前致谢!!!
python - 使用 TortoiseOrm 作为数据库层测试 FastApi 应用程序的问题
我在使用 TortoiseOrm 作为数据库层测试 FastApi 应用程序时遇到问题。请在下面找到一个最小的可重现示例。该示例是一个带有 2 个端点的小型 API,它们接受get
请求并返回虚拟数据。一个端点与数据库交互,而另一个则不。
我的主要问题是,当我在浏览器或 Postman 上与它们交互时,虽然两个端点都能正常工作,但与数据库交互的端点在测试期间会引发错误。请在下面找到完整的堆栈跟踪。由于我难以理解的原因,似乎 TortoiseOrm 在测试期间无法建立数据库连接。
pytest
使用命令运行测试
主文件
数据库.py
test_main.py
堆栈跟踪
我该如何解决?你可以在这里找到 Github 上的完整代码。
python - 没有与模型问题 FastApi 和 Tortoise ORM & aerich 相关的数据库
我有一个由 FastApi 使用 Tortoise ORM 和 aerich 迁移制作的项目。Aerich 初始化成功完成,所有迁移也完成。在这里你可以看到我的 main.py:
这是放置 TORTOISE_MODELS_LIST 的 settings.py:
我在启动时没有问题,但是当我运行这个方法时:
我有这样奇怪的问题:
如何解决这个问题?Aerich 的工作似乎很酷……
tortoisesvn - 乌龟 ORM:空白 = 假。如何防止使用空字符串
我的乌龟 ORM 模型:
字段不能为空,但是当我使用以下数据创建对象时:
它仍然有效,并创建具有空值的对象。这也适用于 orm pydantic 模式。
在 Django 中有这样的blank
属性。
如何解决?
python - tortoise.exceptions.ConfigurationError:未知数据库方案:postgresql 错误
我正在学习乌龟,并试图配置 Postgres,register_tortoise
如下所示:
但我得到这个错误
有人可以帮我找出错误吗?
python - tortoise.exceptions.OperationalError:列关系的不存在错误
我正在尝试使用aerich
withtortoise
来管理 sqlite 的迁移。当我aerich upgrade
之后aerich migrate --name some_migration
(这似乎成功创建了一个迁移文件)时,我收到了这个错误。
我所做的更改只是删除要测试的列。
迁移文件如下所示。
有人可以帮我吗?
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)
),我可以创建多个表。有人可以帮我解决这个问题吗?
python - 使用 pydantic_model_creator 创建 pydantic 模型时从 m2m 关系中排除嵌套对象的字段?
假设以下 Tortoise-ORM 模型:
我想要实现的目标:我想为不包含
字段
的 Recipe 创建一个 PydanticModel ,如下所示: Ingredient.not_needed
我想到的一件事是使用计算属性,但我想知道是否还有其他更方便的方法来解决这个问题?
我尝试过的:
我尝试制作自定义 Pydantic Model 类:
但这会导致成分序列化过程中出现一些错误:“成分值不是有效列表”
我认为问题在于,在序列化过程中,pydantic 通过引用 Recipe 对象上的“成分”字段来期望列表。事实上,这个字段是一个 M2MRelation 对象,其中有一个“related_objects”字段,里面是实际的(期望的)列表。
fastapi - 使用授权用户更新订单问题(FastAPI)
我不知道我在这里做错了什么。我想用订单 ID 更新订单,但我得到了TypeError: dict() takes exactly 1 positional argument (0 given)
. 但是,当我更新用户时它运行良好。
python - 如何在带有额外字段的 Tortoise ORM 中实现多对多模型?
我是 Tortoise ORM 的新手,一直在尝试为用户/组/角色实现一个简单的多对多模型
我试过的:
- 模型.py
- 主文件
要创建会员链接,我尝试使用 add() 但这失败了,因为我无法在关联表中合并额外的“角色”字段
结果出错
我试过直接创建会员
这有效,我已经能够检索每个组中的用户
这使
但是,我不知道如何检索关联表中用户的角色(会员)
感谢尝试实施此模型的任何帮助
- 是否可以使用 add() 在组中添加新用户并指定角色?
- 检索组中的用户列表时,如何检索成员中用户的角色?
谢谢,肯尼斯