odoo8下新增时初始化明细项目的新增

最近听到有人在讨论一个开发问题,就是在新增一笔资料时,在明细字段需要初始化新增一些资料,找了odoo下面的一个实例看了一下,功能面上是可以做到的。例如项目模块,在新增一个项目时,系统会自动带入阶段的明细定义。

看了一下源码,大概是这样子实现的,在定义项目的源码中,加了一个default的定义,返回的是一个明细的列表:

_defaults = {
        'type_ids': _get_type_common,
    }

这里_get_type_common是一个自定义函数,它的源码也很简单:

def _get_type_common(self, cr, uid, context):
        ids = self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1)], context=context)
        return ids

这样在新增项目时,系统就会返回符合条件的阶段定义列表在视图中显示。

你可能感兴趣的:(OpenERP)