SQLAlchemy向null传递null或

问题描述 投票:0回答:1

在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_(类别= v_category,v_category为None).all()

但是由于or_仅接受参数而不接受条件,它会引发错误:

".filter(or_(workscope = v_workscope, v_workscope is None))                                        ^
SyntaxError: positional argument follows keyword argument"
python sql oracle sqlalchemy
1个回答
0
投票

我想如果您的v_category为空,则不应该按category.is_(None)进行过滤。这样,您将退回所有类别为NULL的书籍。根据您的问题,如果v_categoryNone,则要返回所有类别的所有帐册。

© www.soinside.com 2019 - 2024. All rights reserved.