SQLAlchemy:使用函数确定查询返回的结果

dslosky

我想使用一个函数来确定在SQLAlchemy查询中选择了哪些行。这是设置...

我们有一个基本的SQLAlchemy映射对象:

class Foo(base):
    foo_id = Column(Integer, primary_key=True)
    foo_data = Column(String(255))

现在,如果要查询具有特定值的所有表行foo_data,可以执行以下操作:

session.query(Foo).filter(Foo.foo_data == 'some data').all()

现在,我希望Foo.foo_data == 'some data'检查在一个函数中进行...因此我们的查询如下所示:

session.query(Foo).filter(check_foo(Foo.foo_data)).all()

其中check_foo的样子:

def check_foo(foo_data):
    if foo_data == 'foo':
        return True
    else:
        return False

这种事情有可能吗?显然,对于这种琐碎的情况,这确实是不必要的,但是对于更复杂的情况,这将非常有用。

rmn

您可以使用混合属性

from sqlalchemy.ext.hybrid import hybrid_method

class Foo(base):
    foo_id = Column(Integer, primary_key=True)
    foo_data = Column(String(255))

    @hybrid_method
    def check_foo(self):
        return self.foo_data == 'foo'

    @check_foo.expression
    def check_foo(cls):
        return cls.foo_data == 'foo'

session.query(Foo).filter(Foo.check_foo()).all()

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从函数查询返回数组结果

来自分类常见问题

SQLAlchemy查询仅返回n个结果?

来自分类Dev

使用布尔函数确定 Laravel 查询构建器中的结果

来自分类Dev

mysqli查询未在函数内返回结果

来自分类Dev

返回SQLAlchemy查询结果时的Python Flask类型错误

来自分类Dev

遍历sqlalchemy的查询结果

来自分类Dev

SqlAlchemy 查询结果输出

来自分类Dev

Laravel:使用MySQL SUM函数返回数据库查询结果并将其存储在变量中

来自分类Dev

使用 enum 来确定返回结果的类型(使用 Macro 的 hack)

来自分类Dev

使用查询结果确定SQL的where子句中的值?

来自分类Dev

修改bash脚本(包括MySQL查询)以确定查询是否返回内容或没有结果

来自分类Dev

在SQL查询中使用函数的结果

来自分类Dev

如何使用递归函数获取查询结果?

来自分类Dev

使用Posgres SQL函数返回CASE的结果

来自分类Dev

Powershell-如果SQL查询返回结果,则运行函数

来自分类Dev

调用Postgres函数以返回记录,并传递查询结果

来自分类Dev

在查询结果中保留MySQL函数的结果(在WHERE中使用)

来自分类Dev

sqlalchemy查询:结果列名称

来自分类Dev

我想将查询返回的结果保存在变量中,并在另一个函数中使用它

来自分类Dev

查询返回错误结果

来自分类Dev

返回LINQ查询结果

来自分类Dev

查询不返回结果

来自分类Dev

查询返回结果

来自分类Dev

PDO-查询未返回结果-输出为空且不确定原因

来自分类Dev

使用sqlalchemy从PostgreSQL查询返回Pandas数据帧

来自分类Dev

查询返回查询,而不是结果

来自分类Dev

两个sqlalchemy查询返回相同的结果,即使它们具有不同的过滤器

来自分类Dev

在查询中多次使用sqlalchemy.sql函数

来自分类Dev

如何确定函数是否返回按需计算结果的可迭代对象?

Related 相关文章

  1. 1

    从函数查询返回数组结果

  2. 2

    SQLAlchemy查询仅返回n个结果?

  3. 3

    使用布尔函数确定 Laravel 查询构建器中的结果

  4. 4

    mysqli查询未在函数内返回结果

  5. 5

    返回SQLAlchemy查询结果时的Python Flask类型错误

  6. 6

    遍历sqlalchemy的查询结果

  7. 7

    SqlAlchemy 查询结果输出

  8. 8

    Laravel:使用MySQL SUM函数返回数据库查询结果并将其存储在变量中

  9. 9

    使用 enum 来确定返回结果的类型(使用 Macro 的 hack)

  10. 10

    使用查询结果确定SQL的where子句中的值?

  11. 11

    修改bash脚本(包括MySQL查询)以确定查询是否返回内容或没有结果

  12. 12

    在SQL查询中使用函数的结果

  13. 13

    如何使用递归函数获取查询结果?

  14. 14

    使用Posgres SQL函数返回CASE的结果

  15. 15

    Powershell-如果SQL查询返回结果,则运行函数

  16. 16

    调用Postgres函数以返回记录,并传递查询结果

  17. 17

    在查询结果中保留MySQL函数的结果(在WHERE中使用)

  18. 18

    sqlalchemy查询:结果列名称

  19. 19

    我想将查询返回的结果保存在变量中,并在另一个函数中使用它

  20. 20

    查询返回错误结果

  21. 21

    返回LINQ查询结果

  22. 22

    查询不返回结果

  23. 23

    查询返回结果

  24. 24

    PDO-查询未返回结果-输出为空且不确定原因

  25. 25

    使用sqlalchemy从PostgreSQL查询返回Pandas数据帧

  26. 26

    查询返回查询,而不是结果

  27. 27

    两个sqlalchemy查询返回相同的结果,即使它们具有不同的过滤器

  28. 28

    在查询中多次使用sqlalchemy.sql函数

  29. 29

    如何确定函数是否返回按需计算结果的可迭代对象?

热门标签

归档