【发布时间】:2023-03-10 15:53:02
【问题描述】:
我有一个托管在 Linux 服务器上的网站。后端在 Flask 中完成,我使用的数据库是 SQLite3(带有 Flask-SQLAlchemy)。问题是我需要像下一行那样进行大型查询。
for lhour in hour.query.filter(hour.id.in_([id_hour for id_hour in range(start_at , hour.query.count()+1)])):
上面的代码只是查询id大于start_at变量的所有小时,但是小时表中的行数远远超过999(SQLite3 3.32之前的版本允许的最大值。 0) 因此,只要start_at 变量低于 1600(因为小时表中的行数为 2600),就会引发错误。
在阅读了 3.32.0 之后的版本允许的最大值为 32766 之后,我编译了源代码并在我的 Linux 服务器上安装了 SQLite3 的 3.34.1 版本。
但是,这行代码仍然会抛出完全相同的错误,那么 Flask-SQLAlchemy 使用什么版本的 SQLite3 以及如何设置它以使其使用正确的版本?
【问题讨论】:
标签: python sqlite sqlalchemy