我在mysql db表中有一个布尔字段。
# table model
class TestCase(Base):
__tablename__ = 'test_cases'
...
obsoleted = Column('obsoleted', Boolean)
要获得所有未过时的测试用例的计数,可以像这样简单地完成:
caseNum = session.query(TestCase).filter(TestCase.obsoleted == False).count()
print(caseNum)
效果很好,但是flake8报告以下警告:
E712:与False的比较应为“如果cond为False:”或“如果非cond:”
好吧,我认为这是有道理的。因此,将我的代码更改为此:
caseNum = session.query(TestCase).filter(TestCase.obsoleted is False).count()
要么
caseNum = session.query(TestCase).filter(not TestCase.obsoleted).count()
但是它们都不起作用。结果始终为0。我认为filter子句不支持运算符“ is”或“ is not”。有人可以告诉我如何处理这种情况。我不想禁用薄片。