所以我有一个从网页传来的口述。我想基于dict动态构建查询。我知道我可以做到:
session.query(myClass).filter_by(**web_dict)
但是,只有当值完全匹配时,这才起作用。我需要做“喜欢”过滤。我使用__dict__
属性的最佳尝试:
for k,v in web_dict.items():
q = session.query(myClass).filter(myClass.__dict__[k].like('%%%s%%' % v))
不知道如何从那里构建查询。任何帮助都会很棒。
Tags:
你走对了!
首先要做的不同点是使用
getattr
访问属性,而不是__dict__
;getattr
总是做正确的事情,即使(对于更复杂的模型)映射属性不是列属性。另一个缺少的部分是,您可以多次指定
filter()
,只需用该方法调用的结果替换旧的查询对象。所以基本上:相关问题 更多 >
编程相关推荐