我试图根据一些预先选定的项目查询数据库,结果遇到了一个奇怪的情况。首先,我从数据库中的一个表中预先选择了一些参数,这些参数将用作查询中的过滤器:
MX_noaa_numbers = list(Events_df[Events_df['flareclass'].str.contains('M|X')].noaanumber.unique())
它会生成一个列表,例如:
[11583,11611,11771,11777,11778,11865,12253,11967,11968,...,12673]
但当我尝试使用以下方法获得结果时:
session.query(ActiveRegion).filter(sql.or_(ActiveRegion.noaa_number1.in_(MX_noaa_numbers),
ActiveRegion.noaa_number2.in_(MX_noaa_numbers),
ActiveRegion.noaa_number3.in_(MX_noaa_numbers))).all()
它返回给我一个空列表。但是,如果我打印MX_noaa_numbers
,并在in_()
语句中复制输出,替换对象名(MX_noaa_numbers
),我实际上会得到我应该得到的结果。是我遗漏了什么还是我真的遇到了一些奇怪的错误
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐