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

OpenERP 7.0看板视图-无法显示没有数据的组列,openerp,kanban,Openerp,Kanban,我在模块中创建了看板视图, 我在看板的state字段中设置了default\u group\u by属性。 该州包括: [('new','Waiting Queue'),('in_progress','In Progress'),('done','Finished')] 但是如果没有特定状态的数据,则在我创建具有该状态的数据之前,该状态的列不会出现。 有什么办法可以解决这个问题吗?谢谢..你可以使用一种“按组按满”的方法。如果在该字段上分组,此方法必须返回要包含在_read_组中的(name_

我在模块中创建了看板视图,
我在看板的
state
字段中设置了
default\u group\u by
属性。 该州包括:

[('new','Waiting Queue'),('in_progress','In Progress'),('done','Finished')]
但是如果没有特定状态的数据,则在我创建具有该状态的数据之前,该状态的列不会出现。

有什么办法可以解决这个问题吗?谢谢..

你可以使用一种“按组按满”的方法。如果在该字段上分组,此方法必须返回要包含在_read_组中的(name_get of records,{id:fold})。当然,您可以返回所需列的所有值,即使该列还没有数据。
您可以在project.py和crm\u lead.py中看到清晰的“分组”示例。

您可以通过添加到osv.osv类中的“分组”完整词汇表来实现这一点

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

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
}
结果是一个包含(id,name)的元组列表,fold是一个{id:bool}对字典,如果每个元组都为true,则该列将被折叠