问题标签 [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 投票
1 回答
390 浏览

sqlalchemy - 密码比较返回错误

我有一个Users表,其中password定义了一个列:

password | text | not null

并且这样定义的 SQLAlchemy 模型:

password = db.Column(PasswordType(schemes=['bcrypt'], max_length=128), nullable=False)

我可以使用此模型成功插入一行:

But when selecting the row back I can't compare the password:

这会导致以下错误:

0 投票
2 回答
661 浏览

sqlalchemy - 使用 sqlalchemy 执行删除和提交时出错

在这样的删除后执行会话提交时,我收到一个我不明白的错误:(在带有烧瓶应用程序上下文的外壳中或运行应用程序时的任何地方)

文件“/Users/hugo/Dropbox/lahey/api/.venv/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py”,第 962 行,模块 % (self._il_path, self._il_addtl) ) ImportError: importlater.resolve_all() 没有被调用(这是 sqlalchemy.orm strategy_options)

我尝试删除的对象的模型如下所示:

删除其他模型的对象工作正常。这可能是因为我正在使用 sqlalchemy_utils 中的 PasswordType 列吗?

0 投票
0 回答
258 浏览

python - sqlalchemy_utils char(32) 未找到 UUIDType

我正在使用UUIDTypehttp://sqlalchemy-utils.readthedocs.io/en/latest/data_types.html#module-sqlalchemy_utils.types.uuid使我的模型使用 PostgreSQL 的 UUID 类型字段。

我按照文档上的说明进行操作,一旦安装,它们就会根据文档的规范相应地添加到模型中:

杂项型号:

护照型号:

用户型号:

但是当我尝试运行我的python manage.py migrate命令时,它会引发以下错误(下面的完整回溯):

难道我做错了什么?

0 投票
1 回答
204 浏览

python - 如何根据 SqlAlchemy 关系设置模型默认值?

假设我有以下模型:

我希望能够将 Shipment.ship_date 默认为 Treatment.treatment_date 的前一天。换句话说,我想做以下事情:

当它们通过方法动态设置时,如何根据关系设置默认值append


为了澄清,这是一个关于 SqlAlchemy 以及何时建立关系的问题。例如,我尝试了以下方法:

但这会引发 TypeError,因为 SqlAlchemy 尚未设置该self.customer字段。

0 投票
1 回答
2742 浏览

python - python postgresql从pandas数据框创建数据库并填充表

我对 Python 很陌生,对使用 postgresql 也很陌生,所以如果这是基本的东西(我 - 到目前为止 - 未能实现),请原谅我。我正在尝试编写一个python代码:

  • 创建一个新数据库 ( testdb)
  • 将 csv 文件读入 pandas 数据帧
  • 从 pandas 数据框中创建并填充数据库中的新表。

到目前为止,我有 3 个不同的文件:a)一个.ini-File 用于存储创建新数据库所需的数据库信息,b)一个.csv-File(从这里命名100_recs.csv)和 c)我的 python 代码。

数据库.ini

db_creator.py

当我尝试这样做时,我收到以下错误:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError)

但是,当我按照此 SO post中的建议进行操作时,它会起作用。不幸的是,这篇文章中的答案psycopg2用于创建一个新的数据库,但我想这样做sqlalchemy(也是因为我认为进一步使用 Pandas 数据框会更容易sqlalchemy(如这里所示。或者我错了吗?) .我认为,当这样做时,sqlqlchemy应该可以将csv文件中的数据读取到pandas数据框中,然后在新数据库中填充一个表:

但老实说,我被困在这里需要一些帮助......如果有人能指出我正确的方向,那就太好了。

编辑:啊愚蠢的我!所以我在以下几行中有一个旧错字db_creator.py

应该:

我已经改变了这个。

然后我也忘了在config.py这里添加文件。对此表示歉意。

干得好:

配置文件

编辑 2

它现在适用于以下设置:

数据库.ini

配置文件

csv 文件:从这里

db_creator.py

为愚蠢的错误道歉...

0 投票
1 回答
310 浏览

flask-sqlalchemy - 如何在 flask_sqlalchemy 中查询 ScalarListType

我想在 flask_sqlalchemy 中插入一个整数列表作为单列数据类型,我ScalarListType在包 SQLAlchemy-Utils 中找到:

我可以通过 id 查询 foo:

然后, foo.list 是一个整数列表,如[0, 0, 1, 0]

但是,如何为列表中的索引构建查询?例如像Foo.list[3]==1

我找不到任何线索,请帮助我!</p>

0 投票
2 回答
3406 浏览

sqlalchemy - 如何在 sqlalchemy 中使用 filter_by 而不是等于?

我有一个定义如下的函数来查询数据库表

我使用如下请求查询表

上面的结果正确地返回了来自数据库的响应,但是当我使用

我有一个错误

为了获得结果,我可以做出哪些可能的改变?

0 投票
0 回答
1235 浏览

python - SQLAlchemy GUID 自定义类型或 SQLAlchemy-Utils UUID 类型

在研究为表 ID 混淆实现 UUID/GUID 的方法时,我遇到了两种完成此任务的方法,但我无法区分这两种方法。

SQLAlchemy-Utils 版本sqlalchemy_utils.types.uuid.UUIDType似乎比替代方案做得更多,但我不知道具体是什么。我觉得使用图书馆也很好,如果它可以让事情变得正确的话。

另一方面,SQLAlchemy 有一个特定的部分用于实现与后端无关的 GUID 类型,它看起来更简洁,并通过类似的方言回退和 CHAR 和 BINARY 存储选项完成相同的任务。

所以我正处于十字路口,缺乏足够的知识来选择正确的道路。我的实现将使用 Flask-Sqlalchemy 和 MySQL。

除了名称之外,这两种实现在现实世界中的区别是什么?

我想我的最后一个选择是简单地迁移到 PostgreSQL 并回避这整个麻烦。

你会怎么做?

0 投票
1 回答
971 浏览

sqlalchemy - 在运行时为 SQLAlchemy 的 EncryptedType 指定一个密钥

列类型SQLAlchemy-Utils 文档EncryptedType有一个示例,如下所示:

但是如果我在定义User类之前不知道密钥是什么怎么办?例如,如果我想提示用户输入密钥怎么办?

0 投票
0 回答
412 浏览

python - SQLAlchemy-utils:创建视图“如果不存在”

当我使用模块的create_view ()方法时sqlalchemy-utils,第一次运行脚本时一切正常。但是,每次第一次通话后,我都会遇到此错误:

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table XXX already exists.

我目前正在捕获异常并pass避免我的脚本停止,但这对我来说似乎很乱。

有没有办法避免这种行为?