最佳答案
在 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)
这种方法很有效,但是怪物报告了以下警告:
E712: 与 False 的比较应该是“ if cond is False:”或者“ if not 第二:
好吧,我觉得有道理,所以把我的代码改成这样:
caseNum = session.query(TestCase).filter(TestCase.obsoleted is False).count()
或者
caseNum = session.query(TestCase).filter(not TestCase.obsoleted).count()
但是它们都不能工作,结果总是0。 我认为 filter 子句不支持操作符“ is”或“ is not”。有人能告诉我怎么处理这种情况吗。我不想破坏薄片。