Peewee教程:如何结合元组使用IN运算符
使用Peewee构建PostgreSQL多列IN查询
要实现你需要的多列IN查询,Peewee直接支持元组字段的in_()方法,以下是具体实现步骤:
- 先定义对应
tbl表的Peewee模型(根据实际字段类型调整):
from peewee import PostgresqlDatabase, Model, IntegerField, CharField # 初始化数据库连接 db = PostgresqlDatabase( 'your_database', user='your_user', password='your_password', host='localhost' ) class Tbl(Model): a = IntegerField() # 替换为实际字段类型 b = CharField() # 替换为实际字段类型 class Meta: database = db table_name = 'tbl'
- 构建并执行多列
IN查询:
# 准备需要匹配的多值元组列表 match_values = [(val1_1, val1_2), (val2_1, val2_2), (val3_1, val3_2)] # 生成目标查询 query = Tbl.select().where((Tbl.a, Tbl.b).in_(match_values)) # 遍历结果 for record in query: print(f"a: {record.a}, b: {record.b}")
这段代码会生成与你提供的SQL完全等价的查询语句,Peewee会自动将元组列表转换为PostgreSQL支持的(a, b) IN ((...), (...))语法。
内容的提问来源于stack exchange,提问作者NinjaMeTimbers
相关产品推荐
相关产品推荐

