sqlalchemy – 如何从sql alchemy过滤器中的字符串变量动态地给列名?

前端之家收集整理的这篇文章主要介绍了sqlalchemy – 如何从sql alchemy过滤器中的字符串变量动态地给列名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在sql alchemy过滤器中创建查询,但是列是变量中指定的(动态的)变量.

原始查询

db_session.query(Notice).filter(Notice.subject.like("%" +query+ "%"))

我想做这样的查询

col_name='subject'
db_session.query(Notice).filter(Notice.col_name.like("%" +query+ "%"))
col_name='status'
status=0
db_session.query(Notice).filter(Notice.col_name != 1)

解决方法

只需使用 getattr标准的python库函数通过名称获取属性
col_name = 'subject'
db_session.query(Notice).filter(getattr(Notice,col_name).like("%" + query + "%"))
原文链接:https://www.f2er.com/mssql/82063.html

猜你在找的MsSQL相关文章