1

我正在尝试使用 sqlobject 映射器在 python3 中创建一个查询。我需要根据 bitise 操作的输出过滤自定义字段。查询如下所示:

query = sqlobject.AND(query,dl.<table_object>.q.anomalyType & alert_type == alert_type)

但是当实际的 SQL 转换发生时,这个按位 & 被转换为“SQL AND”,这改变了查询的整个含义。

有人可以建议在python3的查询sqlobject中添加按位运算符的正确方法吗?

4

1 回答 1

2

SQLConstant 可以解决问题。工作 sql 查询如下所示:

query = sqlobject.AND(query, sqlbuilder.SQLConstant(f'anomalyType & {alert_type}') == alert_type)

感谢@phd 的帮助。

于 2022-03-03T06:55:35.287 回答