Peewee如何通过变量设置查询的运算符和逻辑?

时间:2015-11-13 14:31:59

标签: peewee

我想用peewee动态构建查询。

示例查询:

User.select()
    .where(
        (User.full_name=="test") | 
        (User.email=="test")
    )

有可能吗?

op1 = "=="
op2 = "!="
logic = "|"
User.select()
    .where(
        (User.full_name op1 "test") logic
        (User.email op2 "test")
    )

1 个答案:

答案 0 :(得分:0)

您可以使用操作员模块。

import operator
name_is_test = operator.eq(User.full_name, 'test')
email_is_test = operator.eq(User.email, 'test')
User.select().where(operator.or_(name_is_test, email_is_test)