如何解决为什么 One2many 字段的默认行没有在 Odoo 13 中自动填写相关和默认值?
我在模型 sale.order
中有一个按钮,用于执行方法 action_open_certification_views
。此方法打开 sale.certification
树视图。因此,该方法返回打开 sale.certification
视图的操作的字典,并且我添加了以下上下文以自动填充 sale.certification
字段(sale_id
和 line_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 举报,一经查实,本站将立刻删除。