Python SQLAlchemy 筛选 status 为 None 的数据:解决 HandleDuidianChengguo.status 筛选问题
Python SQLAlchemy 筛选 status 为 None 的数据:解决 HandleDuidianChengguo.status 筛选问题
在使用 SQLAlchemy 筛选数据时,如果想要筛选出 HandleDuidianChengguo.status 为 None 的数据,直接使用 HandleDuidianChengguo.status == None 可能无法达到预期效果。
原因:
数据库中 status 字段的值可能并非真正的 None,而是空字符串或其他非空值。
解决方案:
可以使用 or_ 操作符来同时匹配 status 字段为 None 和空字符串的情况,如下代码所示:
shibai_list = HandleDuidianChengguo.query.filter(
and_(or_(HandleDuidianChengguo.status == None, HandleDuidianChengguo.status == ''), HandleDuidianChengguo.user_id == g.user.user_id)).all()
此代码使用 or_ 操作符同时匹配 HandleDuidianChengguo.status 字段为 None 和空字符串的情况,从而筛选出 status 字段为 None 的数据。
总结:
在使用 SQLAlchemy 筛选 None 值时,需要考虑到数据库中实际存储的值,并使用合适的条件进行匹配。
原文地址: https://www.cveoy.top/t/topic/qkKI 著作权归作者所有。请勿转载和采集!