我正试图使用sqlobject mapper在python3中创建一个查询。我有一个要求,过滤自定义字段的基础上的输出的bitise操作。查询如下:
query = sqlobject.AND(query,dl.<table_object>.q.anomalyType & alert_type == alert_type)
但是当实际的SQL转换发生时;被转换为";SQL AND";,这改变了查询的整个含义。
有人能建议在python3中的查询sqlobject中添加位运算符的正确方法吗?
SQLConstant就可以做到这一点。工作的sql查询如下所示:
query = sqlobject.AND(query, sqlbuilder.SQLConstant(f'anomalyType & {alert_type}') == alert_type)
感谢@phd的帮助。