sqlalchemy相关内容

SQLAlchemy 还是 psycopg2?

我正在编写一个快速而肮脏的脚本,它需要与数据库 (PG) 进行交互. 该脚本是对现有问题的务实、战术性解决方案.然而,我设想脚本会随着时间的推移演变成一个更“精致"的系统.鉴于它目前正在快速组装(即我没有时间倾注大量文档),我很想使用 psycopg 走快速而肮脏的路线. psycopg2(据我目前的理解)的优点是: 用 C 编写,比 sqlAlchemy(用 Python 编写 ..
发布时间:2021-12-30 14:43:45 Python

SQLAlchemy 在多线程应用程序中正确的会话处理

我无法理解如何有效地正确打开和关闭数据库会话,正如我在 sqlalchemy 文档中所理解的那样,如果我使用 scoped_session 来构造我的 Session 对象,然后使用返回的 Session 对象来创建会话,它是线程安全的,所以基本上每个线程都会得到它自己的会话,并且不会有问题.现在下面的例子有效,我把它放在一个无限循环中,看看它是否正确关闭了会话,以及我是否正确监控它(在 mysq ..
发布时间:2021-12-30 14:43:32 Python

为什么通过 ORM 加载 SQLAlchemy 对象比通过原始 MySQLdb 游标加载行慢 5-8 倍?

我注意到 SQLAlchemy 获取(和 ORMing)一些数据的速度很慢,而使用裸骨 SQL 获取则相当快.首先,我创建了一个包含一百万条记录的数据库: mysql>使用 foomysql>描述 Foo;+-------+---------+------+-------+-------+-------+|领域 |类型 |空 |钥匙 |默认 |额外 |+-------+---------+--- ..
发布时间:2021-12-30 14:43:24 数据库

如何使用 sqlalchemy 有效管理频繁的架构更改?

我正在使用 sqlalchemy 编写 Web 应用程序.在网站未投入生产的第一阶段开发期间,一切都很顺利.我可以通过简单地删除旧的 sqlite 数据库并从头开始创建一个新的数据库来轻松更改数据库模式. 现在网站正在生产中,我需要保留数据,但我仍然希望通过轻松地将数据库转换为新模式来保持我原来的开发速度. 所以假设我有版本 50 的 model.py 和版本 75 的 model.p ..
发布时间:2021-12-30 14:43:18 Python

Pandas 0.24 read_sql 操作错误

我刚刚从 0.23.4 (Python 2.7.12) 升级到 Pandas 0.24.0,我的许多 pd.read_sql 查询都中断了.看起来像是与 MySQL 相关的东西,但奇怪的是这些错误仅在更新我的 Pandas 版本后才会发生.任何想法发生了什么? 这是我的 MySQL 表: 创建表`xlations_topic_update_status`(`run_ts` 日期时间 DEF ..
发布时间:2021-12-30 14:43:09 Python

如何过滤精确的多对多

我在 Flask SQLAlchemy 中有用户和房间模型.我需要过滤房间是否与用户 [user1, user2, ...] 一起存在.过滤器必须准确. 这是我的模型: room_users_table = db.Table('room_users',数据库元数据,db.Column('user', db.Integer, db.ForeignKey('user.id')),db.Colu ..
发布时间:2021-12-30 14:42:51 Python

SQLAlchemy、array_agg 和匹配输入列表

我正在尝试更充分地使用 SQLAlchemy,而不是在遇到困难的第一个迹象时就退回到纯 SQL.在这种情况下,我在 Postgres 数据库 (9.5) 中有一个表,它通过将单个项目 atom_id 与组标识符 group_id 相关联来将一组整数存储为一个组. 给定一个 atom_ids 列表,我希望能够找出哪个 group_id,如果有的话,那组 atom_ids属于.仅使用 group ..
发布时间:2021-12-30 14:42:20 Python

__str__() 实现的正确自动生成也适用于 sqlalchemy 类?

我想显示/打印干净整洁的 sqlalchemy 类. 在是否有一种在 python 中自动生成 __str__() 实现的方法? 答案 您可以使用 vars、dir、...:... 来迭代实例属性简单类的情况. 当我尝试将其应用于 Sqlalchemy 类时(例如 Python 的 SQLAlchemy 的介绍性教程 - 见下文),我得到 - 除了成员变量之外,还有以下条目作为成员变量 ..
发布时间:2021-12-30 14:42:04 Python

SQLAlchemy 和 sqlite 的嵌套事务

我正在使用 SQLAlchemy(和 Elixir)和 SQLite 作为数据库后端在 Python 中编写应用程序.我使用代码 session.begin_transaction() 开始一个新事务,但是当我调用 session.rollback() 时,我收到以下错误: sqlalchemy.exceptions.OperationalError: (OperationalError) no ..
发布时间:2021-12-30 14:41:19 数据库

SQLAlchemy:如何使用连接删除

我在用 SQLAlchemy 做这样的事情时遇到了麻烦: DELETE a FROM a INNER JOIN b ON b.`aId` = a.`Id` WHERE `b`.`xxx` = ?; 作为这里的帖子:SQLAlchemy:使用创建删除查询MySQL 上的自联接 我很难在 SQLAlchemy 中使用 join 进行删除. 所以我现在是这样做的: session.ex ..
发布时间:2021-12-30 14:41:02 数据库

Python - SqlAlchemy:按大圆距离过滤查询?

我使用 Python 和 Sqlalchemy 在 Sqlite 数据库中存储纬度和经度值.我为我的位置对象创建了一个 混合方法, @hybrid_methoddef great_circle_distance(self, other):"""尝试计算两个位置之间的大圆距离如果成功,则返回大圆距离乘以 3959,即计算出以英里为单位的距离.如果不能,它将返回 None."""返回 math.ac ..
发布时间:2021-12-30 14:40:46 数据库

加入条件急切加载 sqlalchemy orm

from sqlalchemy.orm import subqueryload,joinedload,eagerloadfrom sqlalchemy import Column, DateTime, String, Integer, ForeignKey, func,Float, sql从 sqlalchemy.orm 导入关系从 sqlalchemy.ext.declarative 导入 de ..
发布时间:2021-12-30 14:40:37 Python

SQLAlchemy order_by 通过关联代理的多对多关系

我使用关联对象在 SQLAlchemy 的 Flask 应用程序中设置了多对多关系.然后我在类之间设置了关联代理,以提供更直接的访问而不是通过关联对象. 这是设置的缩写示例: class Person(Model):__tablename__ = '人'id = 列(整数,primary_key=True)last_name = Column(文本,可为空=假)组 = Associatio ..
发布时间:2021-12-30 14:40:25 Python