sqlalchemy相关内容

使用 json.dumps() 的 MemoryError

我想知道在将大型数组编码为 json 时,json.dump() 或 json.dumps() 中哪一个最有效格式. 你能告诉我一个使用 json.dump() 的例子吗? 实际上,我正在制作一个 Python CGI,它使用 ORM SQlAlchemy 从 MySQL 数据库中获取大量数据,经过一些用户触发处理后,我将最终输出存储在一个数组中,最终将其转换为 Json. 但是 ..
发布时间:2021-12-30 14:39:44 数据库

如何获取更改字段的原始值?

我使用 sqlalchemy 作为我的 orm,并使用 declarative 作为 Base. Base = declarative_base()类用户(基础):__表名__ = '用户'id = 列(整数,primary_key=True)名称 = 列(字符串) 我的问题是,我怎么知道一个用户被修改了,以及如何在不查询数据库的情况下再次获取原始值? user = Session.quer ..
发布时间:2021-12-30 14:39:23 Python

SQLAlchemy 将一列的默认值设置为另一列的默认值

我正在尝试为物质编写一个类,它有一个名称(名称,在实验室中常用)和另一列用于长名称(以防名称实际上不完整).如果没有指定长名称,是否可以告诉类只将名称字段的值复制到长名称字段? 我尝试过这样的事情: class Substance(Base):__tablename__ = "物质"id = 列(整数,primary_key=True)代码 = 列(字符串,唯一=真)名称 = 列(字符串, ..
发布时间:2021-12-30 14:39:07 Python

如何使用没有 ORM 的 SQLAlchemy 查询从表中删除行?

我正在编写一个快速而肮脏的维护脚本来删除一些行,并希望避免将我的 ORM 类/映射从主项目中带过来.我有一个类似于以下内容的查询: address_table = Table('address',metadata,autoload=True)地址 = session.query(addresses_table).filter(addresses_table.c.retired == 1) 根据 ..
发布时间:2021-12-30 14:38:43 Python

SQLALchemy 动态 filter_by

我知道您可以通过向 filter_by 提供 **kwargs 来为 SQLAlchemy 的查询构建动态过滤器. 例如 过滤器 = {'id': '123456', 'amount': '232'}db.session.query(Transaction).filter_by(**filters) 下面是我的问题: 如果我需要通过“大于"或“小于"子句进行查询怎么办?例如(原始 ..
发布时间:2021-12-30 14:38:35 Python

对 JSON 字段的更新不会持续到 DB

我们有一个带有 JSON 字段的模型,其中插入了用户标志.插入确实按预期工作,但是当删除某些标志时,它们会留在字段中并且更改不会持久保存到数据库中. 我们的模型中有以下方法: def del_flag(self, key):如果 self.user_flags 为 None 或不在 self.user_flags 中键入:返回错误别的:del self.user_flags[key]db. ..
发布时间:2021-12-30 14:38:05 Python

单个表上的 SQLAlchemy 多对多关系

我在我的应用程序中设置了一个 SQLAlchemy 模型,它应该模仿 Twitter 上“关注者"的功能,即.用户之间存在多对多关系(包括关注者和关注者).表的结构如下(sa 是 sqlalchemy 模块): t_users = sa.Table("users", meta.metadata,sa.Column("id", sa.types.Integer, primary_key=True) ..
发布时间:2021-12-30 14:37:46 Python

如何?时区 'UTC' 的 CURRENT_TIMESTAMP

我将如何修改我的电话 sqlalchemy.func.current_timestamp() 产生的东西 CURRENT_TIMESTAMP AT TIME ZONE 'UTC' 解决方案 快速解决方法是执行以下操作: func.current_timestamp().op('AT TIME ZONE')('UTC') 更合适的方法是使用编译器扩展并定义的自定义编译CURRENT_T ..
发布时间:2021-12-30 14:37:38 Python

可以将 SQLAlchemy 配置为非阻塞吗?

我的印象是通过 SQLAlchemy 调用数据库会阻塞并且不适合在同步代码以外的任何地方使用.我是否正确(我希望我不是!)或者有没有办法将其配置为非阻塞? 解决方案 您可以使用 gevent 以非阻塞方式使用 SQLA.这是使用 psycopg2 的示例,使用 psycopg2 的 协程支持: https://bitbucket.org/zzzeek/green_sqla/ 我 ..
发布时间:2021-12-30 14:37:14 Python

sqlalchemy 通用外键(如在 django ORM 中)

sqlalchemy 有类似 django 的 GenericForeignKey 的东西吗?以及使用通用的外部字段是否正确. 我的问题是:我有几个模型(例如,发布、项目、空缺,没有什么特别的),我想为每个模型添加评论.而且我只想使用一种 Comment 模型.值得吗?还是应该使用 PostComment、ProjectComment 等?两种方式的优缺点? 谢谢! 解决方案 ..
发布时间:2021-12-30 14:36:57 Python

SQLAlchemy:选择查询中对象的哪些列

是否可以控制在 SQLAlchemy 的查询方法中查询哪些列,同时仍然返回您正在查询的对象的实例(尽管部分填充)? 或者SQLAlchemy是否需要执行SELECT *来映射到一个对象? (我确实知道可以查询单个列,但它不会将结果映射到对象,只会映射到命名元组的组件). 例如,如果 User 对象具有属性 userid、name、password 和 bio,但您希望查询仅填写它 ..
发布时间:2021-12-30 14:36:48 Python

Twisted + SQLAlchemy 和最好的方法

所以我正在编写另一个基于 Twisted 的守护进程.它将像往常一样有一个 xmlrpc 接口,这样我就可以轻松地与它通信,并让其他进程根据需要与其交换数据. 这个守护进程需要访问一个数据库.我们一直在使用 SQL Alchemy 来代替我们最新项目的硬编码 SQL 字符串——这些项目主要是为 Pylons 中的网络应用程序完成的. 我们希望对这个应用程序做同样的事情,并重用利用 SQ ..
发布时间:2021-12-30 14:36:41 Python

通过 SQLAlchemy 获取随机行

如何使用 SQLAlchemy 从表中随机选择一个或多个行? 解决方案 这在很大程度上是一个特定于数据库的问题. 我知道 PostgreSQL、SQLite、MySQL 和 Oracle 具有按随机函数排序的能力,因此您可以在 SQLAlchemy 中使用它: from sqlalchemy.sql.expression import func, selectselect.orde ..
发布时间:2021-12-30 14:36:21 Python

为什么 SQLAlchemy count() 比原始查询慢得多?

我将 SQLAlchemy 与 MySQL 数据库一起使用,我想计算表中的行数(大约 300k).SQLAlchemy count 函数需要大约 50 倍的时间直接在 MySQL 中编写相同的查询来运行.我做错了什么吗? # 这需要 3 秒以上才能返回session.query(Segment).count() 然而: SELECT COUNT(*) FROM segment;+------ ..
发布时间:2021-12-30 14:36:02 数据库