0

我想将函数 filter 和 filter_by 包装到一个函数中,并根据参数调用 filter 或 filter_by 。

该函数的行为方式必须使这两者返回相同的内容:

MyModel.get(MyModel.mycolumn == 'value')
MyModel.get(mycolumn='value')

有没有办法做到这一点?谢谢!

4

1 回答 1

0

I think you can do it based on whether the arguments are given as keywords or not:

def get(*args, **kwargs):
    if kwargs:
        return query.filter_by(**kwargs)
    else:
        return query.filter(*args)
于 2013-06-24T11:55:52.423 回答