是否可以在 filter_by 之间使用 or_

零酷

我有这个查询,以检查玩家是否在一个列或另一列中

SELECT event_id
FROM schedule
WHERE player1 = 1 and player2 = 2 or player1 = 2 and player2 = 1

这工作正常,但是我需要在 SQLAlchemy 中编写它,所以我想出了以下内容:

check_events = db.session.query(Schedule.event_id).filter(and_(Schedule.player1==form.player1.data, Schedule.player2==form.player2.data)).filter(and_(Schedule.player1==form.player2.data, Schedule.player2==form.player1.data))

问题是,当我使用另一个过滤器filter_by 时,结果查询将使用AND而不是OR运算符

SELECT "Schedule".event_id AS "Schedule_event_id"
FROM "Schedule"
WHERE "Schedule".player1 = ? AND "Schedule".player2 = ? AND "Schedule".player1 = ? AND "Schedule".player2 = ?

我也觉得我的初始查询可能很丑陋,并且可以以不同的方式完成。尽管如此,是否可以使用or_ 'between' 过滤器?

超级射击

您想组合or_andand_并将结果传递给单个filter(). 例如:

from sqlalchemy import and_, or_

(
    db.session.query(Schedule.event_id)
    .filter(
        or_(
            and_(
                Schedule.player1 == form.player1.data,
                Schedule.player2 == form.player2.data,
            ),
            and_(
                Schedule.player2 == form.player1.data,
                Schedule.player1 == form.player2.data,
            ),
        )
    )
)

这些类型的表达式只能传递给Query.filter(). Query.filter_by()只接受关键字参数并将它们转换为等式表达式 ( ==)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在不同框架之间使用NSNotificationCenter进行通信?

来自分类Dev

当我尝试使用filter_by()时,烧瓶中返回“ TypeError:filter_by()”错误

来自分类Dev

是否可以通过某种方式在Docker容器之间或容器与主机之间使用POSIX信号?

来自分类Dev

是否可以某种方式在Docker容器之间或容器与主机之间使用POSIX信号?

来自分类Dev

是否可以在EC2实例和本地计算机之间使用共享?

来自分类Dev

您是否可以缓存在C#AWS Lambda函数调用之间使用的变量

来自分类Dev

是否可以在两个if..else语句之间使用OR运算符或AND运算符?

来自分类Dev

SQLALchemy动态filter_by

来自分类Dev

如何在带有条件if的sqlalchemy中使用条件运算符or_?

来自分类Dev

SQLALCHEMY or_列表理解

来自分类Dev

IPython Bash / Shell细胞魔术:我可以在细胞之间使用持久变量吗?

来自分类Dev

我可以在C中两个子进程之间使用相同的管道吗?

来自分类Dev

我可以跨Realm在线程之间使用被忽略的属性吗?

来自分类Dev

有没有一种方法可以在类之间使用方法?

来自分类Dev

如果拥有自己的帐户,可以在多个客户端之间使用集成密钥吗?

来自分类Dev

有什么办法可以在WPF中的两个STA线程之间使用对象?

来自分类Dev

有没有一种方法可以在类之间使用方法?

来自分类Dev

我可以在Realm的各个线程之间使用被忽略的属性吗?

来自分类Dev

我可以在NodeJS,CSharp和WebCrypto之间使用DH / ECDH方法吗?

来自分类Dev

我是否需要整理由CreateStreamOnHGlobal返回的IStream,以便在线程之间使用?

来自分类Dev

Unix管道是否仅限在两个进程之间使用?

来自分类Dev

AWS步骤功能中每个任务之间使用的线程是否相同?

来自分类Dev

在<th> </ th>之间使用<input type =“ checkbox”>是否有效?

来自分类Dev

是否可以使用asp:RegularExpressionValidator验证至少10位数字的电话号码并允许在空格之间使用空格,但不能计数

来自分类Dev

正则表达式可以在两组之间使用,其中第二组是可选的

来自分类Dev

在Apache Camel路由中间使用JMS是否可以保证交付?

来自分类Dev

是否可以在未运行NixOS的计算机之间使我的Nix软件包保持同步?

来自分类Dev

是否可以在未运行NixOS的计算机之间使我的Nix软件包保持同步?

来自分类Dev

在活动之间使用SharedPreferences

Related 相关文章

  1. 1

    是否可以在不同框架之间使用NSNotificationCenter进行通信?

  2. 2

    当我尝试使用filter_by()时,烧瓶中返回“ TypeError:filter_by()”错误

  3. 3

    是否可以通过某种方式在Docker容器之间或容器与主机之间使用POSIX信号?

  4. 4

    是否可以某种方式在Docker容器之间或容器与主机之间使用POSIX信号?

  5. 5

    是否可以在EC2实例和本地计算机之间使用共享?

  6. 6

    您是否可以缓存在C#AWS Lambda函数调用之间使用的变量

  7. 7

    是否可以在两个if..else语句之间使用OR运算符或AND运算符?

  8. 8

    SQLALchemy动态filter_by

  9. 9

    如何在带有条件if的sqlalchemy中使用条件运算符or_?

  10. 10

    SQLALCHEMY or_列表理解

  11. 11

    IPython Bash / Shell细胞魔术:我可以在细胞之间使用持久变量吗?

  12. 12

    我可以在C中两个子进程之间使用相同的管道吗?

  13. 13

    我可以跨Realm在线程之间使用被忽略的属性吗?

  14. 14

    有没有一种方法可以在类之间使用方法?

  15. 15

    如果拥有自己的帐户,可以在多个客户端之间使用集成密钥吗?

  16. 16

    有什么办法可以在WPF中的两个STA线程之间使用对象?

  17. 17

    有没有一种方法可以在类之间使用方法?

  18. 18

    我可以在Realm的各个线程之间使用被忽略的属性吗?

  19. 19

    我可以在NodeJS,CSharp和WebCrypto之间使用DH / ECDH方法吗?

  20. 20

    我是否需要整理由CreateStreamOnHGlobal返回的IStream,以便在线程之间使用?

  21. 21

    Unix管道是否仅限在两个进程之间使用?

  22. 22

    AWS步骤功能中每个任务之间使用的线程是否相同?

  23. 23

    在<th> </ th>之间使用<input type =“ checkbox”>是否有效?

  24. 24

    是否可以使用asp:RegularExpressionValidator验证至少10位数字的电话号码并允许在空格之间使用空格,但不能计数

  25. 25

    正则表达式可以在两组之间使用,其中第二组是可选的

  26. 26

    在Apache Camel路由中间使用JMS是否可以保证交付?

  27. 27

    是否可以在未运行NixOS的计算机之间使我的Nix软件包保持同步?

  28. 28

    是否可以在未运行NixOS的计算机之间使我的Nix软件包保持同步?

  29. 29

    在活动之间使用SharedPreferences

热门标签

归档