Python 奇怪的sqlalchemy错误与'|';操作人员

Python 奇怪的sqlalchemy错误与'|';操作人员,python,sqlalchemy,Python,Sqlalchemy,所以我用sqlalchemy创建了一个查询,我不知道为什么会出现这个错误。基本上,我的代码如下所示: def post(self, semestr): nazwa_kierunku = 'stac. I st., kier. informatyka' nr_semestru = 2 nr_grupy_cw = 3 nr_grupy_ps = 5 nr_grupy_l = 7 nr_grupy_w = 1 nr_grupy_p = 2

所以我用sqlalchemy创建了一个查询,我不知道为什么会出现这个错误。基本上,我的代码如下所示:

def post(self, semestr):
    nazwa_kierunku = 'stac. I st., kier. informatyka'
    nr_semestru = 2

    nr_grupy_cw = 3
    nr_grupy_ps = 5
    nr_grupy_l = 7
    nr_grupy_w = 1
    nr_grupy_p = 2
    nr_grupy_s = 5
    nr_grupy_j = 5
    nr_grupy_wf = 1

    prowadzacy_tytul_subq = model.Prowadzacy.query.join(model.Tytul).subquery()

    query = (
        model.Grupa.query.join(prowadzacy_tytul_subq,
                               model.Studia,
                               model.Przedmiot,
                               model.Sala)
            .filter(model.Studia.nazwa == nazwa_kierunku)
            .filter(model.Grupa.nr_semestru == nr_semestru)
            .filter((model.Grupa.rodzaj == 'Ćw', model.Grupa.nr_grupy == nr_grupy_cw) | (model.Grupa.rodzaj == 'Ps' , model.Grupa.nr_grupy == nr_grupy_ps))


    )
    print(query)
    result = schema.GrupaSchema().dump(query, many=True)

    return jsonify(result)
当我将鼠标移到“|”操作符上时,我得到的“Class”(bool,bool)“没有定义“或””,因此“|”操作符不能用于其实例”

在编译过程中,我得到
“sqlalchemy.exc.ArgumentError:应为SQL表达式对象或字符串,但得到的对象类型为“我做错了什么?”

sqlalchemy
库中,应使用带条件的

并验证
condition_1
condition_2
是否为
bool
对象。而不是你提到的
类(bool,bool)

例如:

from sqlalchemy import or_, and_
select().where( or_(condition_1, condition_2) )

您是否尝试过改为
?当我使用“或”时,我得到的错误是:“sqlalchemy.exc.ArgumentError:应为SQL表达式对象或字符串,而应为get类型的对象”
应为两边都有布尔值。您正在执行
(bool,bool)或(bool,bool)
。尝试将其更改为
(bool和bool)或(bool和bool)
好的,代码在更改后开始编译,但我打印了这个查询,我可以看到在这个查询中没有来自上一个过滤器的任何内容,就像这行不存在“WHERE studia.nazwa=%(nazwa_1)s和grupa.nr_semestru=%(nr_semestru 1)s和grupa.rodzaj=%(rodzaj_1)s”查询就是这样结束的。