Odoo创建一个自定义UI视图

Odoo能够为给定的模型生成默认视图。在实践中,默认视图对于业务应用程序来说是绝对不可接受的。相反,我们至少应该以合乎逻辑的方式组织各个字段。

视图在带有Actions操作和Menus菜单的 XML 文件中定义。它们是模型的 ir.ui.view 实例。

列表视图

列表视图(也称为树视图)以表格形式显示记录。

Their root element is <tree>. The most basic version of this view simply lists all the fields to display in the table (where each field is a column):
它们的根元素是 <tree> 。此视图的最基本版本只是列出要在表中显示的所有字段(其中每个字段都是一列):

复制代码
\<tree string="Tests"\>
    \<field name="name"/\>
    \<field name="last_seen"/\>
\</tree\>

表单视图

表单用于创建和编辑单个记录。
它们的根元素是 <form> 。它们由高级结构元素(组和笔记本)和交互元素(按钮和字段)组成:

复制代码
\<form string="Test"\>
    \<sheet\>
        \<group\>
            \<group\>
                \<field name="name"/\>
            \</group\>
            \<group\>
                \<field name="last_seen"/\>
            \</group\>
        \</group\>
        \<notebook\>
            \<page string="Description"\>
                \<field name="description"/\>
            \</page\>
        \</notebook\>
    \</sheet\>
\</form\>

可以使用常规的HTML标签,如 divh1 以及属性 class (Odoo提供了一些内置类)来微调外观。

搜索视图

搜索视图与列表视图和表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于筛选其他视图的内容(通常是聚合视图,如列表)。除了用例的差异之外,它们的定义方式相同。

它们的根元素是 <search> 。此视图的最基本版本仅列出需要快捷方式的所有字段:

复制代码
\<search string="Tests"\>
    \<field name="name"/\>
    \<field name="last_seen"/\>
\</search\>

Odoo生成的默认搜索视图提供了一个快捷方式,可以按 name 进行筛选。在自定义搜索视图中添加用户可能筛选的字段是很常见的。

搜索视图还可以包含 <filter> 元素,这些元素充当预定义搜索的切换开关。筛选器必须具有以下属性之一:

  • domain: adds the given domain to the current search
    domain :将给定域添加到当前搜索中

  • context: adds some context to the current search; uses the key group_by to group results on the given field name
    context :为当前搜索添加一些上下文;使用键 group_by 对给定字段名称的结果进行分组

Domains 域

在Odoo中,域对记录的条件进行编码:域是用于选择模型记录子集的条件列表。每个条件都是一个三元组,其中包含字段名称、运算符和值。如果指定的字段满足应用于该值的运算符的条件,则记录满足条件。

相关推荐
梦在深巷、7 分钟前
linux系统防火墙之iptables
linux·运维·服务器
Lay_鑫辰2 小时前
西门子诊断-状态和错误位(“轴”工艺对象 V1...3)
服务器·网络·单片机·嵌入式硬件·自动化
做人不要太理性2 小时前
【Linux系统】线程的同步与互斥:核心原理、锁机制与实战代码
linux·服务器·算法
大柏怎么被偷了2 小时前
【Linux】进程替换
linux·运维·服务器
Xの哲學2 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算
乌萨奇也要立志学C++3 小时前
【Linux】进程信号(二)信号保存与捕捉全解析、可重入函数、volatile
linux·服务器
CryptoPP3 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
Ai173163915793 小时前
2025.11.28国产AI计算卡参数信息汇总
服务器·图像处理·人工智能·神经网络·机器学习·视觉检测·transformer
一水鉴天3 小时前
整体设计 定稿 之1 devOps 中台的 结论性表述(豆包助手)
服务器·数据库·人工智能
HalvmånEver5 小时前
Linux:进程状态(进程二)
linux·运维·服务器