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

相关推荐
struggle20252 分钟前
continue通过我们的开源 IDE 扩展和模型、规则、提示、文档和其他构建块中心,创建、共享和使用自定义 AI 代码助手
javascript·ide·python·typescript·开源
来自星星的坤13 分钟前
深入理解 NumPy:Python 科学计算的基石
开发语言·python·numpy
小声读源码33 分钟前
【技巧】使用UV创建python项目的开发环境
开发语言·python·uv·dify
程序员杰哥37 分钟前
自动化测试基础知识详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
zm-v-1593043398641 分钟前
解锁遥感数据密码:DeepSeek、Python 与 OpenCV 的协同之力
开发语言·python·opencv
勘察加熊人1 小时前
Python+Streamlit实现登录页
开发语言·python
撸猫7911 小时前
HttpSession 的运行原理
前端·后端·cookie·httpsession
DavieLau1 小时前
Python开发后端InfluxDB数据库测试接口
服务器·数据库·python·时序数据库
嘵奇2 小时前
Spring Boot中HTTP连接池的配置与优化实践
spring boot·后端·http
文人sec2 小时前
接口自动化测试设计思路--设计实战
python·https·单元测试·自动化·pytest