odoo看板卡片中添加快速创建表单

在Odoo的看板视图中,快速创建表单功能允许用户直接在看板上迅速添加记录,而无需跳转到详细的表单视图。下面的教程将演示如何在Odoo的看板卡片中添加快速创建表单,并提供详细的代码示例和参数解释。

创建自定义模块

首先,确保已经创建一个自定义模块。在自定义模块的目录下,创建或编辑models.py文件和views/kanban_view.xml文件。

models.py

models.py文件中,定义一个新的模型,例如Task,并且确保它继承自Model:

python 复制代码
from odoo import models, fields

class Task(models.Model):
    _name = 'custom.task'
    _description = 'Task'

    name = fields.Char('Name', required=True)
    description = fields.Text('')

在这个模型中,定义了两个字段:namedescription。字段name设置为必填项。

kanban_view.xml

views/kanban_view.xml文件中,定义看板视图并使用<kanban>标签创建界面:

xml 复制代码
<odoo>
  <record id="view_task_kanban" model="ir.ui.view">
    <field name="name">custom.task.kanban</field>
    <field name="model">custom.task</field>
    <field name="arch" type="xml">
      <kanban default_group_by="none">
        <templates>
 <t t-name="kanban-box">
            <div class="oe_kanban_global_click">
              <field name="name"/>
              <field name="description"/>
            </div>
          </t>
        </templates>
      </kanban>
    </field>
  </record>
</odoo>

在这个看板视图中,使用了默认分组(default_group_by)和模板(templates)。模板内定义了每个看板卡片如何显示字段。

快速创建表单

为了实现快速创建表单的功能,需要在看板视图上添加一个<field>标签并设置属性quick_create="false",以禁用默认的快速创建功能。然后通过添加一个自定义的快速创建表单来替代:

xml 复制代码
<odoo>
  <!-- ... 其他代码 ... -->
  <record id="view_task_kanban" model="ir.ui.view">
    <!-- ... 其他代码 ... -->
    <field name="arch" type="xml">
      <kanban default_group_by="none" quick_create="false">
        <!-- ... 其他代码 ... -->
        <templates>
          <!-- ... 其他代码 ... -->
        </templates>
        <form create="edit_form">
          <group>
 <field name="name"/>
            <field name="description"/>
          </group>
        </form>
      </kanban>
    </field>
  </record>
</odoo>

在这里,通过<form>标签定义了快速创建表单,并通过create属性指定了当点击添加按钮时应该展示的表单视图。

解释每个参数的作用

  • <kanban>: 创建看板视图的根标签。
  • default_group_by: 默认按此字段分组,这里设置为"none"表示不进行分组。
  • quick_create: 控制是否使用默认的快速创建功能。设置为"false"关闭默认功能。
  • <templates>: 定义了看板卡片的HTML结构。
  • <t t-name="kanban-box">: 指定看板卡片的模板名字。
  • <div class="oe_kanban_global_click">: 确保整个卡片都可以点击。
  • <form create="edit_form">: 定义了快速创建表单,并通过create指定点击添加时展示的表单视图。
  • <group>: 在表单视图中用于组织字段的容器。
  • <field>: 显示模型字段,属性如name指定显示哪个字段。

安装和测试

保存并更新模块,在Odoo应用界面安装或升级自定义模坐。安装完成后,转到相应的看板视图,尝试使用快速创建功能来添加记录。

此教程提供了在Odoo看板卡片中添加快速创建表单的基础步骤和代码示例。根据实际需求和业务逻辑,可以进一步自定义和扩展功能。

相关推荐
麻雀飞吧8 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
腾渊信息科技公司8 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
IT_陈寒9 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端
段一凡-华北理工大学9 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
码事漫谈10 小时前
1999年的电商前夜和2026年的AI前夜 历史押韵但从不重复
后端
Conan在掘金10 小时前
鸿蒙报错速查:arkts-strict-typing Property does not exist on type 'object',object 装函数就炸,根因 + 真解法
后端
颜酱11 小时前
01 | 骨架搭建:FastAPI + Vue 跑通第一个 SSE 流式问答
前端·人工智能·后端
程序员cxuan11 小时前
Grok Build 被众人唾骂,结果老马把它开源了
人工智能·后端·程序员
从零开始的代码生活_11 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
C^h12 小时前
python函数学习
人工智能·python·机器学习