如何动态改变OD中多个单字段的域

2024-06-09 18:11:47 发布

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

每次dul值改变时,我想动态改变manyOne字段的域,dul是布尔值

在第一种情况下,domain="[('parent_id', '!=', False), ('parent_id', '=', imeReona)]", 在另一个例子中domain="[('parent_id', '!=', False)]"

我试过了:

my_many2one_field = fields.Many2one(..., domain=lambda self: self.env['ir.config_parameter'].sudo().get_param('domen_mm2o'))

@api.onchange('dul') def _onchange_dul(self): if (self.dul == True): res = "[('parent_id','!=',False),('parent_id','=',imeReona)]" else: res = "[('parent_id','!=',False)]" self.env['ir.config_parameter'].sudo().set_param('domen_mm2o',res)

如果我不够清楚或没有很好地阐述问题,请让我知道


Tags: selfenvidconfigfalseirparameterparam
2条回答
@api.onchange('partner_id')
def apply_domain_customer(self):
    vehicles = self.env['fleet.vehicle'].search([('driver_id', '=', 
      self.partner_id.id)]).ids
    return {
        'domain': {
            'vehicle': [('id', 'in', vehicles)]
        }}

我修正了密码。 从my_many2one_field我删除了, domain=lambda self: self.env['ir.config_parameter'].sudo().get_param('domen_mm2o')

并更新

@api.onchange('dul')
def _onchange_dul(self):
    if (self.dul == True):
        res = "[('parent_id','!=',False),('parent_id','=',imeReona)]"
    else:
        res = "[('parent_id','!=',False)]"
    self.env['ir.config_parameter'].sudo().set_param('domen_mm2o',res)

添加了以下代码

^{pr2}$

相关问题 更多 >