跳至内容
菜单
此问题已终结
2 回复
6863 查看

I have two models. 1.chercheurs  2. structures

i have chercheurs -> many2many -> structures

for example i have selected  structures structures1, structures2 in chercheurs form. The name of the chercheurs is "ch1".

This "ch1" i want to show in structures1, structures2 form, tree view.

if structures1 is selected in more chercheurs called "ch2", "ch3" then these all chercheurs should show in structures1 form, tree view.

Which field in the odoo can help me?. Here is my two models.


class chercheurs(osv.osv):

_name='chercheurs'

_columns={

'code':fields.integer('id'),

'name':fields.char('name'),

'email':fields.char('email'),

'phone':fields.char('phone'),

'function':fields.char('function'),

'responsible':fields.many2one('res.users',string='responsible'),

'active':fields.boolean('active'),

'structures_ids':fields.many2many('structures','structures_rel',string='Structures'),

'publication_ids':fields.many2many('publication', 'chercheurs_publication_rel', string='publications'),

}

_defaults={

'active':True,

}


## structures model ###


class structures(osv.osv):

_name='structures'

 

_columns={

'code':fields.integer('id'),

'name':fields.char('name'),

'establishment_id':fields.many2one('establishment',string='establishment'),

'type_id':fields.many2one('type',string="type"),

'active':fields.boolean('active'),

}

_defaults={

'active':True,

}


形象
丢弃
编写者 最佳答案

Solved this with fuction field in structures. 'chercheurs_id1':fields.function(_get_chercheurs_ids, type='many2many', relation="chercheurs", string="chercheurs"), def _get_chercheurs_ids(self, cr, uid, ids,field_name, arg, context=None): result = {} for record in self.browse(cr, uid, ids, context=context): result[record.id] = [] cr.execute('select chercheurs_id from structures_rel where structures_id=%s'%(record.id,)) res=cr.fetchall() if len(res)>0: result[record.id] = [x[0] for x in res] return result

形象
丢弃
相关帖文 回复 查看 活动
1
7月 15
19857
1
2月 24
1958
0
7月 24
2995
0
2月 23
2010
0
7月 22
60