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看板卡片中添加快速创建表单的基础步骤和代码示例。根据实际需求和业务逻辑,可以进一步自定义和扩展功能。

相关推荐
奈斯。zs18 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody205018 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
学步_技术20 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
wn53143 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
Narutolxy1 小时前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
希冀1231 小时前
【操作系统】1.2操作系统的发展与分类
后端
Amo Xiang1 小时前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
liangbm31 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
GoppViper2 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化