如果sqlalchemy中的列不是NULL或None,那么如何检查查询中的字段

时间:2016-09-08 16:10:52

标签: python mysql sqlalchemy

假设我有一个包含名字,姓氏,中间名,眼睛颜色和年龄的用户表。

我有一个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”条件测试该行的匹配

0 个答案:

没有答案