SQLAlchemy筛选器管理器不返回任何值

亚历克斯·巴里

我正在尝试创建一个过滤器管理器来包装SQLAlchemy应用程序中的过滤器调用。但是,过滤器管理器未返回任何值。而且,它甚至似乎都没有运行SQL语句。我的会话的声明方式是否存在问题?

class FilterManager():

    def __init__(self):
        self.page = 1
        self.pageLength = 5
        Logger.info('Filter: Filter Manager Created')

def SimpleFilter(self):
        limit = self.pageLength
        offset = ((self.page - 1) * self.pageLength) + 1
        session = Session()
        return session.query(KeyAction).order_by(KeyAction.id)[limit:offset]
        session.close()

然后,我添加了一个关键操作,该操作成功完成:

session = Session()
ka = KeyAction(name='Key Action 1', description = 'Test', custom = False)
session.add(ka)
session.commit()
session.close()

我的单元测试都在同一个断言上失败:

results = filter.SimpleFilter()
self.assertEquals(len(results), 1)

说结果的长度是0,而不是1。

我也尝试过在全局范围内声明一个会话,但这存在相同的问题。任何帮助将非常感激!

亚历克斯

- - - - - - - - - 编辑 - - - - - - - - -

基于下面的第一个答案,我进行了以下更新:

def SimpleFilter(self):
        limit = ((self.page - 1) * self.pageLength)
        offset = self.pageLength + ((self.page - 1) * self.pageLength)
        session = Session()
        results = session.query(KeyAction).order_by(KeyAction.id)[limit:offset]
        session.close()
        return results

现在,它根据脚本上一次运行时提交的结果返回结果(第一次返回0个结果,第二次返回3个,此后每次返回5个)

快速说明,按照此处的示例,我确实将会话声明移到了会话工厂声明之后

为什么在此会话中不能读取写入数据库的数据?

克劳斯D.

这可能是由您的LIMIT / OFFSET引起的。切片符号带[]不允许您这样定义LIMIT和OFFSET值。相反,您必须提供一个以Python样式开头和结尾的范围,例如:

[10:20]

这将返回10个项目(10到19,从零开始)。

另外,a之后的语句return将永远不会执行。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对于在数据库管理器中返回值的查询,SQLAlchemy 返回 None

来自分类Dev

从模型管理器返回计算值?

来自分类Dev

返回页面时在表排序器上重置筛选器,并且筛选选择下拉列表不返回任何记录

来自分类Dev

网桥-不破坏网络管理器

来自分类Dev

警报管理器不触发广播

来自分类Dev

通过安装管理器更新工作灯不执行任何操作

来自分类Dev

SQLAlchemy筛选器,用于在数组列中不包含值的行

来自分类Dev

ArrayList 访问器方法不返回任何值

来自分类Dev

CLLocation管理器未返回位置

来自分类Dev

getNodeText()不返回对象管理器搜索树的文本

来自分类Dev

wso2 API管理器3.1.0 jwks不返回用于生成令牌的孩子

来自分类Dev

从电话管理器解析 getAllcellinfo 值

来自分类Dev

JMeter:在Ubuntu的“选项”>“插件管理器”中,插件管理器不显示任何更新

来自分类Dev

安装Debian时“未为显示管理器模块选择任何显示管理器”

来自分类Dev

如何返回浏览器管理器?

来自分类Dev

如何返回浏览器管理器?

来自分类Dev

位置管理器在iOS中的伊朗中返回空值

来自分类Dev

为什么实体管理器向我返回具有空值的对象?

来自分类Dev

如何检查类的某个值,然后通过标签管理器返回结果

来自分类Dev

位置管理器在iOS中的伊朗中返回空值

来自分类Dev

Racket是否有任何依赖项管理器?

来自分类Dev

片段管理器

来自分类Dev

合成管理器

来自分类Dev

SQLAlchemy筛选器-全选吗?

来自分类Dev

Microsoft Graph不返回带有日期筛选器的消息

来自分类Dev

Pytest模拟使用装饰器模拟包含上下文管理器返回值的函数未传递

来自分类Dev

链+筛选器+返回值不是函数的值?

来自分类Dev

我在管理器中命名的范围的类型不匹配

来自分类Dev

不启动到Windows启动管理器

Related 相关文章

  1. 1

    对于在数据库管理器中返回值的查询,SQLAlchemy 返回 None

  2. 2

    从模型管理器返回计算值?

  3. 3

    返回页面时在表排序器上重置筛选器,并且筛选选择下拉列表不返回任何记录

  4. 4

    网桥-不破坏网络管理器

  5. 5

    警报管理器不触发广播

  6. 6

    通过安装管理器更新工作灯不执行任何操作

  7. 7

    SQLAlchemy筛选器,用于在数组列中不包含值的行

  8. 8

    ArrayList 访问器方法不返回任何值

  9. 9

    CLLocation管理器未返回位置

  10. 10

    getNodeText()不返回对象管理器搜索树的文本

  11. 11

    wso2 API管理器3.1.0 jwks不返回用于生成令牌的孩子

  12. 12

    从电话管理器解析 getAllcellinfo 值

  13. 13

    JMeter:在Ubuntu的“选项”>“插件管理器”中,插件管理器不显示任何更新

  14. 14

    安装Debian时“未为显示管理器模块选择任何显示管理器”

  15. 15

    如何返回浏览器管理器?

  16. 16

    如何返回浏览器管理器?

  17. 17

    位置管理器在iOS中的伊朗中返回空值

  18. 18

    为什么实体管理器向我返回具有空值的对象?

  19. 19

    如何检查类的某个值,然后通过标签管理器返回结果

  20. 20

    位置管理器在iOS中的伊朗中返回空值

  21. 21

    Racket是否有任何依赖项管理器?

  22. 22

    片段管理器

  23. 23

    合成管理器

  24. 24

    SQLAlchemy筛选器-全选吗?

  25. 25

    Microsoft Graph不返回带有日期筛选器的消息

  26. 26

    Pytest模拟使用装饰器模拟包含上下文管理器返回值的函数未传递

  27. 27

    链+筛选器+返回值不是函数的值?

  28. 28

    我在管理器中命名的范围的类型不匹配

  29. 29

    不启动到Windows启动管理器

热门标签

归档