问题标签 [gino]

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 投票
1 回答
320 浏览

python - 如何在 postgres 上使用 SQLAlchemy 将元素插入嵌套的 JSONB 数组

我已经看到了关于如何在 postgres 中存储 JSONB 的各种好的答案,但是从 Postgres 9.5 开始,我们现在能够插入现有的 JSONB 数组而不更新列中的数据。我能找到的所有材料都没有在任何地方记录,而且由于我是 SQLAlchemy 的新手(还有一些是 python),所以阅读代码并没有像我想要的那样真正帮助我。

我正在使用 Postgres 10.9、python 3.7 和 SQLAlchemy 1.3.8(带有 GINO 包装器)

这只是最新的尝试,但其中有很多错误:

参与栏中,我有一个 JSONB 对象

在这种特殊情况下,代码会产生错误:

无法确定多态类型,因为输入的类型未知

0 投票
1 回答
1561 浏览

python - 在 Python Gino 中获取池连接(异步)

我正在使用带有asyncio++ (ORM-ish)+ asyncpg(路由、网络响应)的 Postgres、Python3.7。ginoaiohttp

users我在我的数据库中创建了一个小型 postgres 表testdb并插入了一行:

我正在尝试设置我的数据库,以便在请求进入时可以在路由中使用 ORM。

输出是:

这很奇怪。“显式”代码本质上是SELECT针对数据库运行的,这是无用的。

我在文档中找不到一种方法来 1) 使用 ORM,以及 2) 明确地检查池中的连接。

我的问题:

  1. 是否await User.query.gino.all()检查池中的连接?它是如何发布的?
  2. 我将如何在事务中包装查询?我很不安,因为我无法明确控制何时/何地从池中获取连接,以及如何释放它。

我基本上喜欢test_engine_explicit()与 Gino 一起工作的风格的明确性,但也许我只是不理解 Gino ORM 的工作原理。

0 投票
1 回答
699 浏览

python - 如何将原始 SQL 查询转换为 gino ORM 查询?

我在安装并启用了扩展的postgreSQL数据库中有这个表。postGIS

由于它是异步的,因此我正在使用SanicWeb 框架和它。Gino ORM

我能够在命令行中编写和运行原始 SQL 查询,也可以使用Gino. 我只想知道是否可以将某个查询转换为 ORM 语法。

这是有效的原始查询。此代码片段位于异步视图函数中,这将返回预期结果。

这是我尝试将其转换为 ORM 查询,但不起作用

在尝试运行此查询并将响应返回为text时,我收到此错误。

我知道 ORM 查询是一个SELECT *,只要我真正得到结果就可以了。我不明白我做错了什么。我正在完成工作,但我只想确保 ORM 也可以。

这是相关的视图函数的代码。

0 投票
1 回答
309 浏览

python - FastAPI & GINO 无法从数据库中的表中获取所有行

我陷入了 GINO 的问题。我可以从称为模板的表中获取一行,因此在另一条路线中,我想从表中获取所有行。在这里,您可以看到我从 db ant 获取一条记录的观点,它运行良好。

接下来,您可以查看我的视图以将记录添加到数据库,它也可以正常工作:

所以,这个观点的主要原因,它不起作用:

在下面查看我的模板模型:

最后是我的 db GINO 引擎:

错误日志:

请告诉我出了什么问题,我花了很多时间来解决这个问题。欢迎回答,谢谢。

0 投票
0 回答
36 浏览

python - Gino + SQLAlchecmy + Postgres 如何reload模型?

现在我用

但我认为这种方式不好:-(可能有人知道重新加载模型实例的更好方法?

0 投票
1 回答
121 浏览

python - PyInstaller + Asyncpg:无法导入名称异常

使用 PyInstaller 创建构建时遇到问题。

这是错误的堆栈跟踪:

我在编译我的应用程序时添加了 asyncpg.pgproto.pgproto 但错误仍然存​​在。这是 pyinstaller 命令的示例:

谢谢!

0 投票
1 回答
47 浏览

sql - postgres - 如何有效地查找给定表是否存在匹配对

我需要使用 gino sqlalchemy 查找给定输入“名称”和“组”的映射表中 id_a 和 id_b 之间是否存在关联。

例子:

  1. 对于输入 '/foo/', '/foo/1', 'app1' --> 匹配成功。
  2. 对于输入 '/bar/2', '/foo/abc/def', 'app1' --> 匹配成功。
  3. 对于输入 '/foo3/', '/bar3/', 'app2' --> 匹配失败。
0 投票
1 回答
203 浏览

python - 使用 Celery 和 Gino 保存对象

我有以下管道

事件模型(基于 Gino 'db' 对象):

FastApi 应用程序有一个 POST 视图,它调用 celery 任务来传递 Event 对象的数据:

芹菜工人必须将事件对象保存到数据库:

现在我在对象保存过程中收到一个错误:

如果我event = await Event.create(...)在视图中调用它是成功的并将数据保存到数据库。如果我从 Celery worker 中删除“async/await”,则不会出现此错误,Celery 任务的状态为“SUCCESS”,但数据库为空。无法真正理解什么是不正确的。

0 投票
1 回答
78 浏览

python - 如何使用 Postgres 在 gino 中按 ILIKE 词过滤

我想在我的项目中实施建议搜索。我使用了一个 gino 库,想知道如何在 gino 代码中编写一个“like”过滤器?

基本上我需要在 gino 代码中编写这个 sql 语句:

在 gino 文档中找不到任何内容。

0 投票
1 回答
53 浏览

python - 添加表列以选择而不将其添加到 select_from

我在数据库中有一个准备好的函数,我想使用 Gino 调用它。此函数的返回类型等于其中一个表,它是使用声明式创建的。我尝试做的是:

问题是,SQLAlchemy 会自动检测 my 中的表select并将其隐式添加到select_from. 生成的 SQL 在子句中包含我的函数和表名,FROM结果是函数结果和整个表的笛卡尔坐标(不是我真正想要的)。

我的问题是——我能否以某种方式指定我想选择模型的所有列,而不需要相应的类FROM