获取openerp中活动过滤器下的上下文中的所有ID

时间:2012-07-21 06:37:00

标签: python openerp identifier

我创建了一个将所选记录的数据导出到csv文件的函数。例如我打开了产品树视图,有这么多过滤器,我选择了'服务产品过滤器'显示5个产品,然后我点击操作,然后在我的导出向导中导出按钮,这5个产品显示在树视图导出到csv文件。

我有超过4000个消耗品,如果我选择过滤器消耗品,那么树视图将在树形视图中显示80条记录(默认限制)。如果我点击操作并导出详细信息,那么我只获得80条记录ID并导出这些记录。但我需要获得所有消费品ID。

有没有办法让模型中的活动过滤器下的所有ID?

3 个答案:

答案 0 :(得分:1)

应用您的过滤器并将可见记录的数量更改为无限(按产品右上角的 [1到80] 4000 字段)树视图)。

答案 1 :(得分:1)

您可以尝试our module导出到XLS。好处是您可以按原样导出视图 ,这意味着您可以将限制过滤器设置为无限制以获取所有记录。此外,您将获得已经格式化以显示的所有值。集团的东西被清除ATM,但我打算为此添加适当的支持。

此外,关于“如何获取所有ID”,请查看this question,但遗憾的是没有答案。

答案 2 :(得分:0)

尝试覆盖该模型的搜索方法,并将搜索ID添加到上下文中 - >活跃的ids。

def search(self, cr, uid, args, offset=0, limit=None, order=None,context=None, count=False):
    product_ids = super(product_product, self).search(cr,uid,args=tuple_search, offset=offset, limit=limit, order=order,
        context=context, count=count)
    context.update('active_ids' : product_ids)
    return product_ids

不确定,但可能对您有所帮助。