突然有个想法,如果做查询的时候,字段变化复杂,你也不能写死查询语句,就像这样
A.query.filter(name=='ds') 是写死的。 如果我需要动态切换查询字段,尤其是在多字段的时候,想法是能有一个函数做为查询条件,这样我控制函数的输出就行了,类似 A.query.filter(fun()) 此时 fun 返回 'age==18',
如果我需要查name,或者查更多的字段,改变func的输出就行了。
我知道不能直接给函数,通常是写查询语句,这样查询被固定了,不够灵活。
不知道我的想法能否被实现(有一种方案就是使用eveal()包裹整个查询语句,然后修改filter过滤参数),还有没有更好的实现方法呢?
我一般是封装成一个多参数的函数, 如果参数为空字符串或者为-1就表示没有此查询条件