【问题标题】:Using or with Python Flask SQLAlchemy doesn't work使用或使用 Python Flask SQLAlchemy 不起作用
【发布时间】:2017-10-18 21:07:36
【问题描述】:

我有一个 Flask 应用程序,我正在尝试使用 OR 来获取一个 SQLalchemy 查询,以便在一个查询中返回两种不同的状态:

        csv_list_1 = csvTable.query.filter_by(file_uuid=file_uuid).filter_by(status="Validated")

        csv_list_2 = csvTable.query.filter_by(file_uuid=file_uuid).filter_by(status="Also Validated")

我找到了几个关于堆栈溢出的答案,但尝试了以下方法:

from sqlalchemy import or_
csv_list = csvTable.query.filter_by(file_uuid=file_uuid).filter_by(or_(status="Validated", status="Also Validated"))

我明白了:

语法错误:关键字参数重复

我不知道从这里去哪里。

【问题讨论】:

    标签: python flask flask-sqlalchemy


    【解决方案1】:

    你的列名不应该是关键字参数,它应该是这样的布尔检查:

    csv_list = csvTable.query.filter_by(file_uuid=file_uuid)\
        .filter(or_(status == "Validated", status == "Also Validated"))
    

    【讨论】:

    • TypeError: filter_by() 接受 1 个位置参数,但给出的 2 个是新错误。我修改了链接以删除 _by 并仅使用 filter csv_list = csvTable.query.filter_by(file_uuid=file_uuid)\ .filter(or_(status == "Validated", status == "Also Validated")) 并且它有效。谢谢你。你能更新你的答案吗?我会接受的。
    • 谢谢 wpercy,当时我的头撞墙了!
    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-14
    • 2017-11-18
    • 2015-09-01
    • 1970-01-01
    相关资源
    最近更新 更多