首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在one2many弹出表单中加载另一个表的列表,以将其添加到Odoo12中的主表单中?

在Odoo12中,可以通过在one2many弹出表单中加载另一个表的列表来将其添加到主表单中。以下是一种实现方法:

  1. 首先,确保已经创建了两个相关的模型,一个是主表单模型,另一个是要添加到主表单中的子表单模型。
  2. 在主表单模型中,定义一个one2many字段,用于关联子表单模型。例如,假设主表单模型名为"MainModel",子表单模型名为"ChildModel",可以在"MainModel"中添加如下字段定义:
代码语言:txt
复制
child_ids = fields.One2many('child.model', 'main_model_id', string='Child Models')
  1. 在子表单模型中,定义一个many2one字段,用于关联主表单模型。例如,在"ChildModel"中添加如下字段定义:
代码语言:txt
复制
main_model_id = fields.Many2one('main.model', string='Main Model')
  1. 在主表单的视图中,添加一个one2many字段的tree视图,用于显示子表单的列表。例如,在"MainModel"的视图中添加如下代码:
代码语言:txt
复制
<field name="child_ids">
    <tree>
        <!-- 定义子表单的列表视图 -->
        <field name="field1"/>
        <field name="field2"/>
        <!-- 添加其他需要显示的字段 -->
    </tree>
</field>
  1. 最后,在主表单的视图中,添加一个按钮或链接,用于打开one2many弹出表单,并加载子表单的列表。例如,在"MainModel"的视图中添加如下代码:
代码语言:txt
复制
<button name="open_child_form" string="Add Child" type="object"/>
  1. 在"MainModel"的对应模型中,定义按钮的方法。例如,在"MainModel"的模型中添加如下代码:
代码语言:txt
复制
@api.multi
def open_child_form(self):
    return {
        'name': 'Child Form',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'res_model': 'child.model',
        'type': 'ir.actions.act_window',
        'domain': [('main_model_id', '=', self.id)],
        'context': {'default_main_model_id': self.id},
    }

通过以上步骤,就可以在one2many弹出表单中加载另一个表的列表,并将其添加到Odoo12中的主表单中。

请注意,以上代码仅为示例,实际应用中需要根据具体的模型和字段名称进行相应的修改。此外,Odoo还提供了丰富的文档和社区支持,可以进一步了解和学习Odoo的开发和配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ODOO配置文件/etc/odoo.conf配置详解

Odoo是一个多租户系统:一个Odoo系统可以运行并服务于多个数据库实例。它也是高度可定制的,定制(从加载的模块开始)取决于“当前数据库”。 作为登录公司用户使用后端(web客户端)时,这不是问题:登录时可以选择数据库,然后加载自定义设置。 但是,对于没有绑定到数据库的未登录用户(门户、网站)来说,这是一个问题:Odoo需要知道应该使用哪个数据库来加载网站页面或执行操作。如果没有使用多租户,这不是问题,只有一个数据库可以使用,但是如果有多个数据库可以访问,Odoo需要一个规则来知道它应该使用哪一个。 这是--db filter的目的之一:它指定如何根据所请求的主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入的主机名(%h)或访问系统所通过的第一个子域(%d)。 对于生产中托管多个数据库的服务器,特别是在使用网站时,必须设置dbfilter,否则许多功能将无法正常工作。

02

基于 HTML5 WebGL 的 3D 棉花加工监控系统

现在的棉花加工行业还停留在传统的反应式维护模式当中,当棉花加下厂的设备突然出现故障时,控制程序需要更换。这种情况下,首先需要客户向设备生产厂家请求派出技术人员进行维护,然后生产厂家才能根据情况再派人到现场进行处理。由于棉花加工设备分布在中国各地乃至出口到世界各地,从客户反应问题到厂家派人到达现场的时间周期就会很长,少则 一天,个别偏远的地方可能会需要几天,不同程度地影响到企业生产活动的继续进行。传统的反应式维护存在以下缺点:售后服务响应速度慢;维护成本高;生产效率低下;停车率高;管理成本高;无法应对合格工程师不足的情况。

02
领券