Как использовать выделение на поле 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.


person akk    schedule 13.07.2014    source источник


Ответы (2)


Пропустите функцию _get_partner_sup, просто в XML используйте обе

widget="selection" 

и

domain=[('supplier','=',True),('is_company','=',True)]
person Mariusz Mizgier    schedule 13.07.2014

В представлении XML, возможно, вам нужно указать «widget = «selection»», когда вы определяете это поле.

person Quentin THEURET    schedule 13.07.2014
comment
Я хочу _columns = {'partner_sup_id': fields.many2one('res.partner', 'Выбрать поставщика 2', selection=_get_partner_sup),} из-за результата функции - person akk; 13.07.2014