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

相关推荐
WZTTMoon32 分钟前
Spring Boot 启动全解析:4 大关键动作 + 底层逻辑
java·spring boot·后端
小二·1 小时前
Spring框架入门:深入理解Spring DI的注入方式
java·后端·spring
毕设源码-钟学长2 小时前
【开题答辩全过程】以 基于springboot和协同过滤算法的线上点餐系统为例,包含答辩的问题和答案
java·spring boot·后端
计算机毕设小月哥2 小时前
【Hadoop+Spark+python毕设】中风患者数据可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
Keep_Trying_Go2 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
q***44152 小时前
Spring Security 新版本配置
java·后端·spring
计算机毕设匠心工作室2 小时前
【python大数据毕设实战】强迫症特征与影响因素数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
o***74172 小时前
Springboot中SLF4J详解
java·spring boot·后端
雨中散步撒哈拉3 小时前
18、做中学 | 初升高 | 考场一 | 面向过程-家庭收支记账软件
开发语言·后端·golang