【发布时间】:2020-02-02 06:16:59
【问题描述】:
在 SQL 中,如果我提供 v_category="fiction" 那么它将返回所有小说书籍,如果我们提供 v_category=null 那么它将提供所有类别的书籍:
select * from book where category = :v_category or :v_category is null
我如何在 SQLAlchemy 中做到这一点:
books = Book.query.filter(or_(category = v_category, v_category is None).all()
但是由于 or_ 只接受参数而不接受条件,它会抛出一个错误:
".filter(or_(workscope = v_workscope, v_workscope is None)) ^
SyntaxError: positional argument follows keyword argument"
【问题讨论】:
-
column == None或column.is_(None)。 Linter 更喜欢后者。
标签: python sql oracle sqlalchemy