问题标签 [sqlalchemy-utils]

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 投票
4 回答
2926 浏览

sqlalchemy - 如何在 SQLAlchemy 模型中使用 SQLAlchemy Utils

我正在尝试创建一个使用 UUID 作为主键的用户模型:

但是当我生成我收到的迁移时:

我曾尝试像这样明确地通知我正在使用的模块并使用SQLAlchemy的“内部”实现

Obs:如果我手动导入并删除自动生成sqlalchemy_utils/migrations/version/efae4166f832_.py长度,sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(length=16), nullable=False)它可以正常工作

我使用generate.py脚本生成迁移:

在此处输入图像描述

Obs:MySQL引擎

我希望当我生成迁移时,它会生成一个用户模型,该模型使用从 SQLAlchemy Utils 实现的 UUID 作为主键

0 投票
0 回答
69 浏览

python - 如何将非 SQLAlchemy 默认类型设置为 utf8 bin

如何将非默认 SQLAlchemy 类型设置为utf8_bin,例如:

当我尝试插入新用户时,我收到错误:

我尝试使用连接到 MySQL,?charset=utf8但它不起作用。我也找到了这个关于错误的线程。

我的 MySQL 版本是 mysql Ver 14.14 Distrib 5.7.21,适用于 Linux (x86_64),使用 EditLine 包装器、Python 3.6.5、SQLAlchemy 1.2.15、SQLAlchemy Utils 0.33.10 ...

0 投票
1 回答
122 浏览

python - 如何使用 SQL Alchemy 和 SQL Alchemy Utils URLType 所以它只保存主机名?

我目前在一个项目中使用 SQL Alchemy 和 SQL Alchemy Utils URLType,我一直在试图弄清楚如何清理 SQLAlchemy 属性的输入,以便数据库中存储的唯一内容是 furl 对象的主机。目前我已经通过在每个集合操作之前调用一个类方法来解决它,如下所示:

虽然我希望能够像这样使用它:

我想也许这个答案就是我想要的,但我找不到它的文档。

0 投票
0 回答
1261 浏览

python - 使用 sqlalchemy 和 ORM 将数据加密到 Postgres 并从 Postgres 解密

我想将数据加密到 Postgres 中,然后解密并从中读取。我更喜欢使用 sqlalchemy 和 ORM,但如果使用 sqlalchemy 和 ORM 很难,那么我也很想知道其他方法

我尝试使用下面的代码,它正在加密到数据库中,但它没有要求我提供任何密钥或任何用于解密的东西。我可以知道为什么吗?

我运行以下代码进行解密:

0 投票
1 回答
136 浏览

python - 使用 ChoiceType 计算 sqlalchemy 模型中的相关项目

这是对上一个问题的跟进。我想计算每个类别中的 offer 数量,并以我可以在 Jinja 中迭代的格式输出它们。

新的,3
旧的,7
坏的,5

这是我现在所拥有的:

按照上一个答案,我尝试了这样的事情:

这显然行不通,因为CATEGORIES.value没有定义;如何传递CATEGORIES给此查询以产生所需的结果?“设置”似乎相当普遍,直接取自SQLAlchemy-Utils 数据类型页面

非常感谢您的帮助(已经长出白头发了)!


一个可怕但有效的临时解决方法:

0 投票
1 回答
55 浏览

python - 使用 sqlalchemy 连接到 mssql 数据库时遇到问题

我正在尝试连接到数据库并使用 sqlalchemy 插入其中。我已经使用 pyodbc 成功连接到数据库,但是 sqlalchemy 给我带来了麻烦。

我正在使用 sqlalchemy,以便可以使用该pd.to_sql方法将数据框插入数据库。

我检查了我的计算机上的 sql 版本和数据库是否匹配。我还将数据库添加到计算机上的“odbc 数据源”中。

我还确保所有凭据都正确,并将版本添加到连接 url 中的 sql 驱动程序。

错误:

0 投票
2 回答
3366 浏览

python - SQLAlchemy bulk_insert_mappings():无法获取表“测试”的映射器

我一直在尝试使用 sqlalchemy 的 bulk_insert_mappings。我知道我可以创建一个会话并连接到数据库。我已经初始化了我的引擎,但我似乎无法从表中获取我需要的映射器。

我最近发现了一堆关于 SO 的相关问题

SQLAlchemy 从 Table 对象(从 Metadata 或 Session 或其他)获取 Mapper 对象

但 sqlalchemy_utils.get_mapper 提出:

“ValueError:无法获取表'test'的映射器。”

sqlalchemy.orm.mapperlib._mapper_registry似乎是空的。也许是因为我没有将它绑定到我的引擎。但不知道该怎么做。

PS:test是一个非常简单的TEXT类型的一栏表

这是 m.tables['test.test'] 的输出

0 投票
1 回答
139 浏览

python - 如何使用 sqlalchemy_utils.dependent_objects()?

我想使用该dependent_objects()方法来获取数据库中引用给定关系中特定实例的所有关系实例。我尝试了以下方法:

但它返回一个异常:

显然,dependent_objects()在某个时候得到了一个未知的对象,但不清楚是哪个。

0 投票
1 回答
1986 浏览

python - AttributeError:类型对象“用户”没有属性“_query_cls”

User.idwas of typepostgresql.UUID Message.sender_idpostgresql.UUID带有外键 to的类型User.id

将我的类型更改为sqlalchemy_util.UUIDType.

我在序列化外键时遇到问题,所以我设置了自己的JSONEncoder 现在一切正常,除了创建一个Message(具有相同配置的其他类没有问题)。

test_message.py

模型/消息.py

模型/用户.py

模型/base.py

测试套件的输出

0 投票
1 回答
253 浏览

python - 如何在 sql alchemy 中有效地使用 func.isnull 来让两个字符串加入逗号分隔?

下面是我作为 sqlalchemy 查询的一部分的代码。大多数情况下,拳头名称为空。但是在下面的语句中,总是返回带逗号的姓氏。例如:lastName,如何仅在有名字的情况下添加逗号?