我想将函数filter和filter_by包装成单个函数 并根据参数调用filter或filter_by。
该函数必须以这两种方式返回相同的方式运行:
MyModel.get(MyModel.mycolumn == 'value')
MyModel.get(mycolumn='value')
有办法做到这一点吗? 谢谢!
答案 0 :(得分:0)
我认为你可以根据参数是否作为关键字给出来实现:
def get(*args, **kwargs):
if kwargs:
return query.filter_by(**kwargs)
else:
return query.filter(*args)