SqlAlchemy。TypeError:filter_by()恰好接受1个参数(给定2个)


问题内容

我将sqlalchemy从0.7升级到0.9.6。升级后,出现以下错误:

TypeError
TypeError: filter_by() takes exactly 1 argument (2 given)

但是它没有任何问题。我该如何处理该问题?


问题答案:

如果没有看到代码,显然您在filter_by打错电话。filter_by仅接受隐式self
“正好1个参数”, 恰好意味着1个位置参数)和可选关键字参数。您正在提供filter_by另一个位置参数,可能是字典。

语法为:

query.filter_by(column1=value, column2=value)

鉴于filter

query.filter(Model.column1 == value, Model.column2 == value)