使用计算方法Odoo12无法在one2many字段中更新值

时间:2019-12-02 05:53:17

标签: odoo insert-update odoo-12 one2many

我下面的用于在one2many字段中插入值的方法与onchange方法和带有depends装饰器的计算方法一起使用。但是我的要求不能完全满足于依赖装饰器。我的方法应该适用于视图加载。目前是方法调用,我在终端上使用print进行了测试,但仍然无法在o2many字段中更新值。

survey_user_input = fields.One2many('customer.survey', 'partner_id', compute='user_survey_output')

@api.one
def user_survey_output(self):
    print('TESSSSSSSSSSSSSSSSSSSS')
    Survey_user_input = self.env['survey.user_input']
    s_list = []
    value = {}
    for val in self:
        User_input = Survey_user_input.search(['|', ('partner_id', '=', val.id), ('email', '=', val.email)])
        for rec in User_input:
            data = {'partner_id': val.id,
                    'user_input_id': rec.id,
                    'survey_id': rec.survey_id.id,
                    'date_create': rec.date_create,
                    'deadline': rec.deadline,
                    'type': rec.type,
                    'state': rec.state,
                    }
            s_list.append((0, 0, data))
        value.update(survey_user_input=s_list)
        print('LLLLLLLLLLLLLLL', value)
        return {'value': value}

谢谢。

1 个答案:

答案 0 :(得分:1)

django_sequencecomputed field,因此它必须将计算出的值分配给该字段。

如果使用其他字段的值,则应使用survey_user_inputdepends()方法中使用email字段)指定这些字段。

search