flake8 抱怨过滤器子句中的布尔比较“==”

2023-12-21

我在 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 条件:”

好吧,我认为这是有道理的。所以将我的代码更改为:

caseNum = session.query(TestCase).filter(TestCase.obsoleted is False).count()

or

caseNum = session.query(TestCase).filter(not TestCase.obsoleted).count()

但他们都不能工作。结果始终为 0。 我认为过滤子句不支持运算符“is”或“is not”。有人可以告诉我如何处理这种情况吗?我不想禁用该薄片。


这是因为 SQLAlchemy 过滤器是为数不多的几个地方之一== False实际上是有道理的。其他地方你应该not use it.

Add a # noqa对该行进行评论并完成它。

或者你可以使用sqlalchemy.sql.expression.false http://docs.sqlalchemy.org/en/rel_1_0/core/sqlelement.html#sqlalchemy.sql.expression.false:

from sqlalchemy.sql.expression import false

TestCase.obsoleted == false()

where false()返回适合您的会话 SQL 方言的正确值。有一个匹配的sqlalchemy.expression.true http://docs.sqlalchemy.org/en/rel_1_0/core/sqlelement.html?highlight=true#sqlalchemy.sql.expression.true.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flake8 抱怨过滤器子句中的布尔比较“==” 的相关文章

随机推荐

  • 如何从windbg中的函数获取返回值?

    我正在尝试调试一些 win32API 例如返回句柄的 Createthread 如何获取windbg的返回值 我做了一些研究 发现返回值通常存储在 EAx 寄存器中 如果我在 CreateThread 上放置断点 那么我可以单步执行 Cre
  • Java 7 Kerberos 问题 - AES128 校验和损坏

    我正在从 Java 6 迁移到 Java 7 并且遇到了 Kerberos 身份验证问题 在我看来 底层加密类型顺序已被切换 因此使用了不同的加密类型 在这种情况下Aes128CtsHmacSha1EType当 Java 7 运行时 将用于
  • 设置 double 中点后的位数

    在 C double 类型中 如何设置点后的位数 我只需要 4 谢谢 你不能 二进制浮点数 http pobox com skeet csharp floatingpoint html不是那样的 你可以format这样就可以加倍 例如使用
  • Laravel 验证属性“好名字”

    我正在尝试使用 语言 gt 语言 gt validation php 中的验证属性来替换 属性名称 输入名称 以获得正确的读取名称 例如 first name gt 名字 使用起来似乎很简单 但验证器不会显示 好名字 我有这个 attrib
  • Turbo CPP 中的鼠标程序

    我用turbo cpp编写了一个程序 它使用鼠标作为基本的GUI 我还编写了一个函数来确定鼠标是否单击了某个位置显示的某个文本 第一次运行时一切正常 但是当我第二次运行该程序时 出现了问题 即使鼠标刚刚经过一个选项 而不是单击 它也会被选中
  • 连接到 AWS IoT MQTT 主题的客户端数量

    我们开发了一个 iOS 应用程序 并将该应用程序配置为侦听 AWS IoT 上特定 MQTT 主题上发布的所有消息 我想知道的是 有没有办法可以提取正在收听该主题的已连接设备的列表 我检查了cloudWatch日志 但找不到详细信息 例如所
  • Excel VSTO Addin 显示/隐藏任务窗格

    我在这里做教程 空白 Excel 页面一切正常 https msdn microsoft com en us library bb608590 v vs 120 aspx https msdn microsoft com en us lib
  • 如果我们需要更改 input_shape,为什么需要 include_top=False ?

    据我所知 输入元组是从卷积块进入的 因此 如果我们想改变 input tuple 的形状 修改卷积就有意义 为什么我们需要 include top False 并删除最后的全连接层 另一方面 如果我们有不同数量的类 Keras 可以选择使用
  • 如何在 Firebase 中验证转义的基于电子邮件的用户帐户?

    我正在使用 Firebase 简单登录的电子邮件 密码身份验证选项 我使用转义电子邮件作为键来存储用户数据 其中 字符已替换为 因为 Firebase 不允许在键中存储 而不是使用用户 ID 作为键 问题是 在安全规则中 我无法使用正则表达
  • System.NullReferenceException:未将对象引用设置为对象的实例[重复]

    这个问题在这里已经有答案了 可能的重复 NET 中的 NullReferenceException 是什么 https stackoverflow com questions 4660142 what is a nullreferencee
  • C# 桌面应用程序中的会话变量?

    我正在开发一个 C 独立的单用户桌面应用程序 需要用户登录该应用程序 我想确保当 5 分钟左右没有任何活动时 应用程序将提示用户再次登录 我想到了几种解决方案来做到这一点 但似乎效率不高 以前 在进行 Web 编程时 我能够使用会话变量来执
  • 苹果推送通知分发证书签名请求是否需要与分发证书用于签署应用程序的请求相同?

    我有一个已创建的现有应用程序 并且最近配置了推送通知 配置时 系统要求我上传证书签名请求 CSR 我不再拥有用于发布应用程序的原始 CSR 这是我需要上传到推送通知配置才能接收推送通知证书的 CSR 吗 我有带有可用私钥的分发证书 我尝试创
  • Angular 4上的动画似乎没有过渡效果

    trigger expandCollapse state open style height state close style height 0px transition open lt gt close animate 1000 使用此
  • postgres中的SQL将重复事件的日期时间转换为未来的日期时间

    我仅使用日期时间来跟踪表中每周重复发生的事件 我只关心时间和它所在的星期几 我需要能够将设置的 DATETIME 转换为当前或即将到来的未来日期 IE 如何转换存储为的日期2013 02 22 12 00 00使用当前日期到下一次出现的日期
  • 这种不良做法/反模式的名称是什么?

    我试图向我的团队解释为什么这是不好的做法 并且正在寻找反模式参考来帮助我的解释 这是一个非常大的企业应用程序 因此这里有一个简单的示例来说明所实现的内容 public void ControlStuff var listOfThings L
  • 使用 cxf 和 java 第一种方法编写异步服务

    我需要使用 cxf 和 java 第一种方法创建一个异步 Web 服务 但我无法 找到任何可以告诉我如何执行此操作的网络资源 网站吗 您能告诉我如何使用 CXF 和 java 第一种方法编写异步 Web 服务吗 Thanks Shekhar
  • FMDB开放数据库

    我正在尝试打开资源中项目中的数据库 问题是好像找不到数据库文件 我尝试使用完整路径 它有效 但这不是一个好的解决方案 我现在想知道如何打开它 我正在使用这段代码 db FMDatabase databaseWithPath bbdd sql
  • htaccess 从 url 中删除字符并重定向

    我想脱衣 来自网址 例子 mysite com something想要重定向到mysite com something 通过启用 mod rewrite 和 htaccesshttpd conf然后将此代码放入您的 htaccess und
  • Select2:如何防止标签排序

    当用户选择许多项目 标签 时 它们会自动按字母顺序排序 如何使用Select2 4 0防止自动排序并保留用户的顺序 Update 提到的 可能的重复问题 适用于旧版本的 Select2 v3 我询问版本 4 它与旧版本不同 并且提到的答案不
  • flake8 抱怨过滤器子句中的布尔比较“==”

    我在 mysql 数据库表中有一个布尔字段 table model class TestCase Base tablename test cases obsoleted Column obsoleted Boolean 要获取所有未过时测试