我打算在 SQLAlchemy 网站上记录一个问题,但在此之前我只是想检查一下我没有错过任何东西。我在 IRC 上问过,我认为这可能是一个合法的问题。
归结为 != 过滤器没有考虑空/NULL单元格。
例如,让我们说
Session.query(Table).\
filter(Table.column != 1).all()
现在我希望这会返回值不等于 1 的所有记录。但是,它实际返回的是包含数据的记录列表,不等于 1。
因此,例如,如果列是 NULL/空值,则此查询不会返回它,而我(和其他人)期望它会返回。
现在显然在创建列时使用 NOT NULL 是最佳实践,但我只是想看看是否有解决此问题的方法,或者是否值得提交错误