2014-07-13 32 views
1

如上所述here選擇,我創建了一個many2one字段的自定義選擇功能:如何使用上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場。

回答

0

在XML視圖上,當您定義此字段時,可能需要將「widget =」選擇「'」。

使用功能_get_partner_sup
+0

我想_columns = { 'partner_sup_id':fields.many2one( 'res.partner',「選擇供應商2',選擇= _get_partner_sup), }因爲函數的結果 – akk

2

跳過,只在XML同時使用

widget="selection" 

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