SQLAlchemy是否在mysql中支持RLIKE?

问题描述 投票:0回答:1

[试图找到在连接到mysql数据库的sqlalchemy查询中实现RLIKE的方法。

我们的主机名非常复杂,因此,对于我们来说,不能使用LIKE。我有数十个SQL查询成功使用RLIKE来查询主机组,这些主机上安装了各种软件包,但不确定sqlalchemy如何/是否支持它。

我的纯SQL where子句看起来像这样:

(device RLIKE '^ab-.*-ceaa-b[0-9]{2}$' and package = 'package-rpm')
OR
(device RLIKE '^ab-.*-cezz-b[0-9]{2}$' and package = 'other-package-rpm')

我是python的初学者,正在取得一些进步,但是我需要在脚本中实现RLIKE或类似的东西:

conditions = []
conditions.append(and_(Package.device.like('ab-pp-%'), Package.package == 'package-rpm'))
conditions.append(and_(Package.device.like('ab-zz-%'), Package.package == 'package-rpm'))

Package.query.filter(or_(*conditions)).all()
python python-3.x flask sqlalchemy flask-sqlalchemy
1个回答
0
投票

您可以通过使用op方法将SQLAlchemy与所需的任何功能一起使用:

op
© www.soinside.com 2019 - 2024. All rights reserved.