首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未使用计算方法Odoo12更新one2many字段中的值

未使用计算方法Odoo12更新one2many字段中的值
EN

Stack Overflow用户
提问于 2019-12-02 13:53:18
回答 1查看 543关注 0票数 1

下面的方法用于在one2many字段中插入值,适用于onchange方法和compute方法以及depends装饰器。但我的要求并不完全取决于装饰者。我的方法应该适用于视图加载。目前方法调用,我在终端上用print进行了测试,但o2many字段中的值仍然没有更新。

代码语言:javascript
运行
复制
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}

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-12-02 17:35:27

survey_user_input是一个computed field,因此它必须将计算出的值赋给该字段。

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

代码语言:javascript
运行
复制
@api.depends('email')
def user_survey_output(self):
    Survey_user_input = self.env['survey.user_input']
    for val in self:
        s_list = []
        # Loop body used to fill "s_list"
        val.survey_user_input = s_list
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59133334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档