我是Odoo领域的新手,现在我被困住了。我有这个(Odoo v11.0):
Model: class Dog()
dog_name = fields.Char()
gps = fields.Many2One(Model Gps)
Model: class Gps()
serial = fields.Char()
我有一个Gps列表,以Dog的形式显示为下拉列表,每次创建Dog记录时,只能为其分配一个Gps,因此下次我创建Dog时,这些分配的Gps一定不能出现在下拉列表中。
如何实现? 提前感谢
答案 0 :(得分:0)
将此方法添加到Dog类:
@api.one
@api.onchange('gps')
def onchange_gps(self):
If not self.gps:
Res = {}
Ids = []
Dogs = self.env['dog'].search([])
Ids = [d.gps for d in dogs]
Res['Domain'] = {'gps' : [('id', 'not in', ids)]}
Return res
答案 1 :(得分:0)
请在Gps类中添加以下方法。
@api.multi
def name_get(self):
if self._context.get('filter_gps'):
gps_records = self.env['Dog'].search([('gps','!=',False)]).mapped('gps')
new_self = self - gps_records
return super(Gps,new_self).name_get()
return super(Gps,self).name_get()