我在 mysql 数据库表中有一个布尔字段。
# 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应该写成"if cond is False:" 或者 "if not cond:"
好的,我认为这有道理。所以把我的代码改成了这样:
caseNum = session.query(TestCase).filter(TestCase.obsoleted is False).count()
或者caseNum = session.query(TestCase).filter(not TestCase.obsoleted).count()
但是它们都不能起作用。结果始终为0。 我认为筛选条件不支持运算符"is"或"is not"。有人能告诉我如何处理这种情况吗?我不想禁用flake。