sqlalchemy相关内容

创建表后向 SQLAlchemy 模型添加索引

我有一个flask-sqlalchemy模型: class MyModel(db.Model):__tablename__ = '目标'id = db.Column(db.Integer, primary_key=True)url = db.Column(db.String(2048)) 该表已创建,正在使用中.我想在 url 属性上创建一个索引,所以我将 index=True 传递给它: ..
发布时间:2021-12-30 15:02:35 Python

如何使用 sqlalchemy 创建 db mysql

我需要使用 sqlalchemy 在 mysql 中创建一个数据库,如果它已经存在,我可以连接到它,但如果它不存在,我希望能够创建它.这是我的表: #def __init__(self):Base = declarative_base()类utente(基础):__tablename__="utente"utente_id=列(整数,primary_key=真)nome_utente=列(Un ..
发布时间:2021-12-30 15:02:27 数据库

将大型 Pandas 数据帧写入 SQL Server 数据库

我有 74 个相对较大的 Pandas DataFrame(大约 34,600 行和 8 列),我试图尽快将它们插入到 SQL Server 数据库中.在做了一些研究之后,我了解到好的 ole pandas.to_sql 函数并不适合将如此大的插入到 SQL Server 数据库中,这是我最初采用的方法(非常慢 - 将近一个小时应用程序完成,而使用 mysql 数据库时大约需要 4 分钟.) ..
发布时间:2021-12-30 15:02:17 数据库

如何为查询执行设置语句超时

在我的网络应用程序中,一些 postgres sql 查询需要很长时间才能执行.我只想为其中的一部分设置语句超时. 一部分查询必须因超时取消,但其他部分必须不受任何限制地工作. 在 postgres 中存在 statement_timeout 函数. 如何使用 statement_timeout 函数包装 SqlAlchemy 查询? 像这样: SET statement ..
发布时间:2021-12-30 15:02:00 Python

带有 PostgreSQL 的 SQLAlchemy 中的 ENUM 类型

我将 SQLAlchemy core 与 postgresql 数据库一起使用,我想将 ENUM 类型添加到我的表定义中.根据 postgresql 文档,必须事先定义 ENUM 类型到正在创建的表: CREATE TYPE sex_enum AS ENUM ('female', 'male');创建表人(名称 VARCHAR(20),性别gender_enum); 问题是我在创建表定义时.在 ..
发布时间:2021-12-30 15:01:39 其他开发

SQLalchemy 中 backref 和 back_populate 的概念?

谁能解释一下这两个想法的概念以及它们与建立表格之间的关系的关系?我似乎真的找不到任何可以清楚地解释它的东西,而且文档感觉在简单的概念中有太多行话无法理解.例如,在文档中的一对多关系示例中: class Parent(Base):__表名__ = '父'id = 列(整数,primary_key=True)孩子 = 关系(“孩子",back_populates =“父母")类儿童(基础):__表名 ..
发布时间:2021-12-30 15:01:30 Python

SQLAlchemy 内存占用选择语句

根据 SQLAlchemy,选择语句在 for 循环中被视为可迭代对象.其效果是会返回大量行的 select 语句不会使用过多的内存. 我发现 MySQL 表中有以下语句: for row in my_connections.execute(MyTable.__table__.select()):产量行 似乎没有遵循这一点,因为我溢出了可用内存并在产生第一行之前开始抖动.我做错了什么? ..
发布时间:2021-12-30 15:00:58 Python

使用 Flask-SQLAlchemy 在 Alembic 自动生成迁移中未检测到任何变化

我无法让 Alembic 使用 db.Model (Flask-SQLAlchemy) 而不是 Base 自动生成从更改到类的候选迁移. 我修改了 env.py 来创建我的 Flask 应用程序,导入所有相关模型,初始化数据库,然后运行迁移: ...uri = 'mysql://user:password@host/dbname?charset=utf8'app = Flask(__nam ..

SQLAlchemy DateTime 对象只能是幼稚的吗?

我正在使用 SQLAlchemy,但我不确定我将在它下使用哪个数据库,因此我希望尽可能保持与数据库无关.如何在不将自己绑定到特定数据库的情况下在数据库中存储时区感知日期时间对象?现在,我在将时间存储在数据库中之前确保时间是 UTC,并在显示时转换为本地化,但这感觉既不优雅又脆弱.是否有一种与数据库无关的方法可以从 SQLAlchemy 中获取时区感知的日期时间,而不是从数据库中获取原始数据时间对象 ..
发布时间:2021-12-30 15:00:30 Python

存在用于查询的 sqlalchemy

如何检查查询中的数据是否存在? 例如: users_query = User.query.filter_by(email='x@x.com') 如何检查使用该电子邮件的用户是否存在? 我可以用 检查这个 users_query.count() 但是如何使用exists来检查它? 解决方案 下面的解决方案稍微简单一点: from sqlalchemy.sql impo ..
发布时间:2021-12-30 15:00:14 Python

SQLAlchemy - 使用 DateTime 列查询以按月/日/年过滤

我正在构建一个涉及跟踪付款的 Flask 网站,但我遇到了一个问题,我似乎无法按日期过滤我的数据库模型之一. 例如,如果这是我的表的样子: payment_to、amount、due_date(一个 DateTime 对象)A公司, 3000, 7-20-2018公司 B, 3000, 7-21-2018C公司, 3000, 8-20-2018 我想过滤它,以便获得 7 月 20 日之后 ..
发布时间:2021-12-30 15:00:05 Python

如何获取最后一条记录

我需要从数据库中获取最后一条记录.我正在使用 sqlalchemy.目前,我正在这样做: obj = ObjectRes.query.all()返回 str(obj[-1].id) 但是查询太繁重了.我怎样才能更好地获得最后的记录? 解决方案 看看 Query.first().如果您在右列指定 sort,则第一个将是你的最后一次.一个示例可能如下所示: obj = session.q ..
发布时间:2021-12-30 14:59:38 Python

SqlAlchemy 中的动态表创建和 ORM 映射

我对使用关系数据库还很陌生,所以我更喜欢使用好的 ORM 来简化事情.我花时间评估了不同的 Python ORM,我认为 SQLAlchemy 正是我所需要的.然而,我已经到了精神上的死胡同. 我需要创建一个新表,以配合我在应用程序的播放器表中创建的每个播放器实例.我想我知道如何通过元数据更改表的名称然后调用 create 函数来创建表,但我不知道如何将其映射到新的动态类. 有人能给我 ..
发布时间:2021-12-30 14:59:29 Python

SQLAlchemy - 获取表列表

我在文档中找不到任何关于此的信息,但是如何获取在 SQLAlchemy 中创建的表的列表? 我使用类方法来创建表. 解决方案 所有的表都收集在 SQLAlchemy MetaData 对象的 tables 属性中.要获取这些表的名称列表: >>>元数据.tables.keys()['帖子'、'评论'、'用户'] 如果您使用的是声明性扩展,那么您可能不会自己管理元数据.幸运的是 ..
发布时间:2021-12-30 14:59:19 数据库

为什么在删除列时 Flask-migrate 无法升级

我正在使用 SqlAlchemy 和 Flask-migrate 进行数据库迁移.我已经成功init 数据库和upgrade 一次,但是当我删除我的表列之一时,我设法migrate 但是upgrade 给了我以下错误: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) 靠近“DROP":语法错误 [SQL: u'ALTER T ..
发布时间:2021-12-30 14:59:10 Python

使用 Alembic 更改 Enum 字段

当使用早于 9.1 的 PostgreSQL 版本(为枚举添加 ALTER TYPE)时,如何在 alembic 迁移中将元素添加到枚举字段?这个 SO question解释了直接过程,但我不太确定如何最好使用 alembic 进行翻译. 这就是我所拥有的: new_type = sa.Enum('nonexistent_executable', 'output_limit_exceede ..
发布时间:2021-12-30 14:59:00 Python