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('')

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

相关推荐
高级程序源3 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe3 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
kimnoic4 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
snhna4 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
架构技术专栏4 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
码事漫谈4 小时前
你让AI干的活,它可能只干了十分之一——而你根本看不出来
后端
必须得开心呀5 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan5 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
青少儿编程课堂5 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
计算机编程指导师5 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通