首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenERP 7.0看板视图-无法显示没有数据的组列

OpenERP 7.0看板视图-无法显示没有数据的组列
EN

Stack Overflow用户
提问于 2013-09-06 15:49:51
回答 2查看 653关注 0票数 0

我在一个模块中创建了一个看板视图,

我在看板中用state字段设置了default_group_by属性。状态包含:

代码语言:javascript
复制
[('new','Waiting Queue'),('in_progress','In Progress'),('done','Finished')]

但是,如果没有特定状态的数据,则状态的列将不会出现,直到我创建具有该状态的数据。

有没有办法解决这个问题?谢谢..

EN

回答 2

Stack Overflow用户

发布于 2014-05-05 20:42:25

您可以使用_group_by_full方法。如果在此字段上分组,则此方法必须返回要包括在_read_group中的(记录的折叠,{id: name_get})。当然,您可以返回所需的列的所有值,即使该列还没有数据。您可以在project.py和crm_lead.py中看到清晰的_group_by_full示例。

票数 0
EN

Stack Overflow用户

发布于 2014-11-13 13:08:38

您可以通过在osv.osv类中添加_group_by_full字典来实现这一点。

例如,检查我的示例代码:

代码语言:javascript
复制
def _read_group_state_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):

    stage_obj = self.pool.get('produce.book.stage')
    order = stage_obj._order

    if read_group_order == 'stage_id desc':
        order = "%s desc" % order
    # perform search
    stage_ids = stage_obj._search(cr, uid, [], order=order, access_rights_uid=access_rights_uid, context=context)
    result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
    # restore order of the search
    result.sort(lambda x, y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))

    fold = {}
    for stage in stage_obj.browse(cr, access_rights_uid, stage_ids, context=context):
        fold[stage.id] = stage.fold or False
    return result, fold

_group_by_full = {
    'stage_id': _read_group_state_ids
}

结果是元组contains (id,name)的列表,而fold是{id: bool}对的字典,如果每一个都为真,则该列将被折叠。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18652554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档