SQLAlchemy的.TypeError:filter_by()只取1个参数(给定2个)

Max*_*Max 3 python sqlalchemy upgrade

我将sqlalchemy从0.7升级到0.9.6.升级后,我收到以下错误:

TypeError
TypeError: filter_by() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

在没有任何问题的情况下工作之前.我该如何处理这个问题?

Ant*_*ala 18

没有看到代码,显然你filter_by错了.filter_by仅采用隐式self('正好1个参数'意味着正好1个位置参数)和可选的关键字参数.您正在提供filter_by另一个位置参数,可能是字典.

语法是:

query.filter_by(column1=value, column2=value)
Run Code Online (Sandbox Code Playgroud)

鉴于filter:

query.filter(Model.column1 == value, Model.column2 == value)
Run Code Online (Sandbox Code Playgroud)

  • 这就是我(几乎)从不使用`filter_by`的原因 (2认同)