最近听到有人在评论一个开发疑问,就是在新增一笔材料时,在明细字段需求初始化新增一些材料,找了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  

这样在新增项目时,体系就会回来契合条件的期间界说列表在视图中显现。