微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 One2many 字段的默认行没有在 Odoo 13 中自动填写相关和默认值?

如何解决为什么 One2many 字段的默认行没有在 Odoo 13 中自动填写相关和默认值?

我在模型 sale.order 中有一个按钮,用于执行方法 action_open_certification_views。此方法打开 sale.certification 树视图。因此,该方法返回打开 sale.certification 视图的操作的字典,并且我添加了以下上下文以自动填充 sale.certification 字段(sale_idline_ids ,其中 line_ids 是指向 sale.certification.line) 的 One2many 字段:

def action_open_certification_views(self):
    ...
    action['context'] = {
        'default_name': 'My Certification','default_sale_id': self.id,'default_line_ids': [
            (0,{
                'quantity': 5.0,'sale_line_id': line.id,}) for line in self.order_line
        ],}
    return action

当我点击按钮时,sale.certification 树视图会在右侧打开,如果点击 Create 按钮,操作的上下文运行良好,因为我看到 {{ 1}} 表单自动填写名称​​我的认证,销售订单的正确链接,与销售订单行相同数量的认证行具有销售订单。每条认证行的数量为5.0,销售订单行的链接也是正确的。

问题在于 sale.certification 模型有许多其他相关字段或具有认值,但这些由操作上下文认填充的认证行并未填充这些字段。

例如,sale.certification.line 模型中有另一个字段 quantity2,并且在视图中可见,认情况下始终采用 1.0。但是,该字段在所有认行中都是空的。相关领域也有同样的问题。视图中有一些相关字段通过 sale.certification.line 字段获取它们的值。这些都填好了,但是相关的字段还是空的。例如,在`sale.certification.line 模型中有这个字段:

sale_line_id

尽管在所有行中都将 product_uom = fields.Many2one( related='sale_line_id.product_uom',) 填写为 OK,但它们的 sale_line_id 为空。谁能告诉我为什么?尽管它们应该由它们自己填写,但我是否也必须在上下文中指定它们的值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。