one2many inlin内字段上的动态域筛选器

2024-04-26 13:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在《奥多8》里有这样一个情景:

class a(models.Mocel):
    _name='a'
    master = field.Char()
    slave = field.One2many('b','a_id')

class b(models.Model):
    _name='b'
    a_id=field.Many2one('a')
    c_id=field.Many2one('c')

class c(models.Model):
    _name='c'
    code=field.Char()

“a”型的视图

^{pr2}$

我需要过滤“c”,以便a.master=c.code,因此我尝试:

@api.onchange('master')
def onchange_master(self):
    return {'domain': {'slave.c_id': [('code','=',self.master)]}}

以及

@api.onchange('master')
def onchange_master(self):
    return {'domain': {'slave': [('code','=',self.master)]}}

以及

@api.onchange('master')
def onchange_master(self):
    return {'domain': {'c_id': [('code','=',self.master)]}}

但它并没有为c_id字段设置域。有没有办法达到这个目的,或者说根本不可能?在


Tags: nameselfmasterapiidfieldreturnmodels