2024-10-02 08:17:39 发布
网友
@classmethod def get(cls, id=None, **kwarg): return con_sesison.query(cls).filter_by(or_(id=id, and_(**kwarg))).scalar()
我得到了一个错误:
SyntaxError: non-keyword arg after keyword arg
通过使用id=id传递一个id参数,其值等于id变量。相反,您需要以field == value的格式向or_传递过滤条件。在
id=id
id
field == value
or_
只需将id=id替换为id==id。在
id==id
filter_by只是一个通过关键字参数进行相等比较的速记函数。相反,使用filter可以让表达式更清晰:
filter_by
filter
exprs = [cls.k == v for k, v in kwarg.items] con_session.query(cls).filter(or_(cls.id==id, and_(*exprs))).scalar()
filter_by方法不是很灵活,但是有了上面的方法,您应该可以实现同样的效果(未经测试)。在
通过使用
id=id
传递一个id
参数,其值等于id
变量。相反,您需要以field == value
的格式向or_
传递过滤条件。在只需将
id=id
替换为id==id
。在filter_by
只是一个通过关键字参数进行相等比较的速记函数。相反,使用filter
可以让表达式更清晰:filter_by
方法不是很灵活,但是有了上面的方法,您应该可以实现同样的效果(未经测试)。在相关问题 更多 >
编程相关推荐