假设我有一个包含名字,姓氏,中间名,眼睛颜色和年龄的用户表。
我有一个sqlalchemy查询,如下所示:
thequery = session.query(User).filter(and_(User.firstname == person['firstname'],
User.lastname == person['lastname'],
User.midname == person['midname'],
User.eyecolor == person['eyecolor'],
User.age == persone['age']))
我希望在User表中查询person字典中的所有字段,除非User表列为None或Null,然后它可以忽略“User == dict,and_ condition”
基本上只对实际包含信息且不为空的列执行查询。
所以,如果我有一个看起来像这样的表:
Id firstname lastname midname eyecolor age
1 John Smith NULL NULL 25
然后查询只会使用“and_”和“firstname,lastname,age”条件测试该行的匹配