如何在many2one字段上使用选择

时间:2014-07-13 01:59:11

标签: openerp odoo

正如here所述,我创建了一个带有自定义选择功能的many2one字段:

def _get_partner_sup(self, cr, uid, context=None):
    obj = self.pool.get('res.partner')
    ids = obj.search(cr, uid, [('supplier','=',True), ('is_company','=',True)])
    res = obj.read(cr, uid, ids, ['name', 'id','email'], context)
    res = [(r['id'], r['name']) for r in res]     
    return res

_columns = {
    'partner_sup_id': fields.many2one('res.partner', 'Select Supplier 2 ', selection=_get_partner_sup),
}

但它仍然像一个普通的many2one字段。

2 个答案:

答案 0 :(得分:2)

使用函数_get_partner_sup跳过,只需在XML中使用

widget="selection" 

domain=[('supplier','=',True),('is_company','=',True)]

答案 1 :(得分:0)

在XML视图中,您可能需要在定义此字段时添加“widget =”选项“。