odoo17创建一个默认UI视图

XML  数据文件 

当要加载的数据具有简单格式时,CSV 格式很方便。当格式更复杂时(例如,加载视图或电子邮件模板的结构),我们使用 XML 格式。例如,此帮助字段包含 HTML 标记。虽然可以通过 CSV 文件加载此类数据,但使用 XML 文件更方便。


XML 文件必须添加到与 CSV 文件相同的文件夹中, __manifest__.py 并在 .在安装或更新模块时,数据文件的内容也会按顺序加载,因此对 CSV 文件所做的所有注释都适用于 XML 文件。当数据链接到视图时,我们会将它们添加到文件夹中 views 。

我们将通过 XML 文件加载第一个操作和菜单。操作和菜单是数据库中的标准记录。

在Odoo中,用户界面(操作,菜单和视图)主要是通过创建和撰写XML文件中定义的记录来定义的。常见的模式是“菜单”>“操作”>“视图”。要访问记录,用户需要通过多个菜单级别导航;最深层次是触发打开记录列表的操作。

Actions 操作

可以通过三种方式触发Action操作:

  1. by clicking on menu items (linked to specific actions)
    通过单击菜单项(链接到特定操作)

  2. by clicking on buttons in views (if these are connected to actions)
    通过单击视图中的按钮(如果这些按钮连接到操作)

  3. as contextual actions on object
    作为对对象的上下文操作

在本章中,我们将只介绍第一种情况。第二种情况将在后面的章节中介绍,而最后一种情况是高级主题的重点。在我们的房地产示例中,我们希望将菜单链接到 estate.property 模型,以便我们能够创建新记录。该操作可以被视为菜单和模型之间的链接。

A basic action for our test_model is:
我们在test_model 中的一个基础Action操作是:

<record id="test_model_action" model="ir.actions.act_window"><field name="name">Test action</field><field name="res_model">test_model</field><field name="view_mode">tree,form</field>
</record>
  • id is an external identifier. It can be used to refer to the record (without knowing its in-database identifier).
    id 是外部标识符。它可用于引用记录(不知道其数据库内标识符)。

  • model has a fixed value of ir.actions.act_window (Window Actions (ir.actions.act_window)).
    model 具有固定 ir.actions.act_window 值 (Window Actions (ir.actions.act_window))。

  • name is the name of the action.
    name 是操作的名称。

  • res_model is the model which the action applies to.
    res_model 是应用该操作的模型。

  • view_mode are the views that will be available; in this case they are the list (tree) and form views. We’ll see later that there can be other view modes.
    view_mode 是将可用的视图;在本例中,它们是列表(树)和表单视图。我们稍后会看到,可以有其他视图模式。

在Odoo中随处可见的例子,但这是简单操作的一个很好的例子。请注意 XML 数据文件的结构

Menus 菜单

定义结构的最简单方法是在 XML 文件中创建它。我们 test_model_action 的基本结构是:

<menuitem id="test_menu_root" name="Test"><menuitem id="test_first_level_menu" name="First Level"><menuitem id="test_model_menu_action" action="test_model_action"/></menuitem>
</menuitem>

The name for the third menu is taken from the name of the action.
第三个菜单的名称取自 action .

Fields, Attributes And View
字段、属性和视图

在进一步进行视图设计之前,让我们回到模型定义。我们看到某些属性(如 required=True )会影响数据库中的表架构。其他属性将影响视图或提供默认值。

可以为任何字段指定默认值。在字段定义中,添加选项 default=X ,其中 X 要么是 Python 文本值(布尔值、整数、浮点数、字符串),要么是接受模型并返回值的函数:

name = fields.Char(default="Unknown")
last_seen = fields.Datetime("Last Seen", default=fields.Datetime.now)

The name field will have the value ‘Unknown’ by default while the last_seen field will be set as the current time.
默认情况下,该 name 字段的值为“未知”,而该 last_seen 字段将设置为当前时间。

active 是具有特定行为的保留字段的示例:当记录具有 active=False 时,它会自动从任何搜索中删除。若要显示创建的属性,需要专门搜索非活动记录。

向 estate.property 模型添加字段 state 。可能有五个值:“新建”、“已收到报价”、“已接受报价”、“已售出”和“已取消”。它必须是必需的,不应复制,并且应将其默认值设置为“新建”。

Make sure to use the correct type!
确保使用正确的类型!

The state will be used later on for several UI enhancements.
稍后 state 将用于多个 UI 增强功能。

Now that we are able to interact with the UI thanks to the default views, the next step is obvious: we want to define our own views.
现在,由于默认视图,我们能够与UI进行交互,下一步是显而易见的:我们要定义自己的视图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/47282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

明星应援系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;线上应援管理&#xff0c;线下应援管理&#xff0c;应援物品管理&#xff0c;购买订单管理&#xff0c;集资应援管理&#xff0c;集资订单管理&#xff0c;市集订单管理&#xff0…

极致竞争思维

老板请了几个毕业生&#xff0c;培训了一年&#xff0c;他们现在对业务的熟悉程度比我都熟悉多了&#xff0c;只是基本功不扎实&#xff0c;做出来的东西有很多问题。 老板请我来&#xff0c;给了我一个硬件总监的位置&#xff0c;实际上是要对他的整个系统做出诊断。 也是难为…

【QT】线程控制和同步

目录 概述 QThread常用API 线程使用 创建一个QThread的子类 主线程启动线程 线程安全 互斥锁 QMutex 使用示例&#xff1a;两个线程一个共享静态变量进行 线程子类创建 主线程调用 QMutexLocker 条件变量 信号量 概述 在 Qt 中&#xff0c;多线程的处理⼀般是…

【CSS in Depth 2 精译_020】3.3 元素的高度

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…

【proteus经典实战】定时器控制交通灯指示灯

一、简介 基于8051系列单片机实现&#xff0c;旨在模拟一个简单的交通灯系统&#xff0c;实现红、黄、绿灯的交替亮灭。使用了特殊功能寄存器&#xff08;SFR&#xff09;和位操作来控制硬件&#xff0c;使用定时器0的中断功能来控制交通灯信号的切换。通过软件控制&#xff0…

解决selenium打印保存为PDF时图片未加载成功的问题

使用selenium打印网页时&#xff0c;如果程序运行很快的话&#xff0c;可能会导致图片没有加载成功即进行了保存&#xff0c;出现这个问题最初的思考是在执行打印任务时使用js进行强制等待&#xff0c;后发现实现效果并不好。在加载页面时使用自动下滑的方式将网页拉到底&#…

uniapp动态计算并设置元素高度

<template><view><scroll-view id"sv-box" :scroll-y"true" :style"{height:navHeightpx}"></scroll-view><view id"btn-box"><button>取消</button><button>确认</button><…

Linux Vim教程(三):插入模式与命令模式

目录 1. Vim的基本模式介绍 2. 插入模式 2.1 进入插入模式 2.2 退出插入模式 2.3 插入模式下的快捷键 2.4 插入模式中的光标移动 3. 命令模式 3.1 进入命令模式 3.2 常用命令 3.3 搜索和替换 3.4 其他有用的命令 3.5 配置与优化 3.5.1 自动补全 3.5.2 自定义快捷…

【前后端联调】HttpMessageNotReadableException

【前后端联调】HttpMessageNotReadableException 01 问题描述 在前后端联调时产生的问题&#xff0c;关键是下面这句翻译JSON解析错误&#xff1a;无法构造“java.util.ArrayList”的实例 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse …

记录贴-NGINX相关

链接: NGINX相关配置信息说明

在 CI/CD 中怎么使用 Docker 部署前端项目?

本项目代码已开源&#xff0c;具体见&#xff1a; 前端工程&#xff1a;vue3-ts-blog-frontend 后端工程&#xff1a;express-blog-backend 数据库初始化脚本&#xff1a;关注公众号程序员白彬&#xff0c;回复关键字“博客数据库脚本”&#xff0c;即可获取。 前言 在上一篇文…

Web Pages 表单

Web Pages 表单 介绍 Web pages 表单是现代网页设计中不可或缺的组成部分&#xff0c;它们允许用户与网站进行交互&#xff0c;提交信息&#xff0c;如注册、登录、反馈、预订等。表单的设计和功能对用户体验和网站的业务目标有着直接的影响。本文将深入探讨Web pages表单的各…

快速上手AI指令:打造个性化智能交互体验的全面指南

快速上手AI指令&#xff1a;打造个性化智能交互体验的全面指南 一、初识文心一言1.1 文心一言简介1.2 文心一言的特点 二、准备工作2.1 获取访问权限2.2 熟悉界面布局2.3 了解基础指令 三、基础指令操作3.1 问答互动3.2 文本创作3.3 任务规划 四、进阶指令操作4.1 复杂查询4.2 …

Python酷库之旅-第三方库Pandas(035)

目录 一、用法精讲 106、pandas.Series.iloc方法 106-1、语法 106-2、参数 106-3、功能 106-4、返回值 106-5、说明 106-6、用法 106-6-1、数据准备 106-6-2、代码示例 106-6-3、结果输出 107、pandas.Series.__iter__魔法方法 107-1、语法 107-2、参数 107-3、…

Java程序的故障排查

文章目录 Linux命令关机/重启/注销系统信息和性能查看磁盘和分区⽤户和⽤户组⽹络和进程管理常⻅系统服务命令⽂件和⽬录操作⽂件查看和处理打包和解压RPM包管理命令YUM包管理命令DPKG包管理命令APT软件⼯具 JDK命令jpsjstatjinfojmapjhatjstackjcmdjconsole 分析工具VisualVME…

ios 设置行距和获取文本行数

设置文本行距 UILabel *label [[UILabel alloc] init];label.font [UIFont systemFontOfSize:12];label.numberOfLines 0;label.lineBreakMode NSLineBreakByWordWrapping;label.textColor [UIColor colorWithHexString:"B3B3B3"];label.text textDes;//设置行…

blender和3dmax和maya和c4d比较

Blender、3ds Max、Maya和Cinema 4D (C4D)都是强大的3D建模和动画软件&#xff0c;但它们各有特点和适用领域。以下是它们的比较&#xff1a; Blender: 开源免费全面的功能&#xff0c;包括建模、动画、渲染、视频编辑等学习曲线较陡峭&#xff0c;但社区支持强大适合独立艺术家…

自动驾驶-预测概览

通过生成一条路径来预测一个物体的行为&#xff0c;在每一个时间段内&#xff0c;为每一辆汽车重新计算预测他们新生成的路径&#xff0c;这些预测路径为规划阶段做出决策提供了必要信息 预测路径有实时性的要求&#xff0c;预测模块能够学习新的行为。我们可以使用多源的数据…

超简单安装指定版本的clickhouse

超简单安装指定版本的clickhouse 命令执行shell脚本 idea连接 命令执行 参考官网 # 下载脚本 wget https://raw.githubusercontent.com/183461750/doc-record/d988dced891d70b23c153a3bbfecee67902a3757/middleware/data/clickhouse/clickhouse-install.sh # 执行安装脚本(中…

【漏洞复现】Netgear WN604 downloadFile.php 信息泄露漏洞(CVE-2024-6646)

0x01 产品简介 NETGEAR WN604是一款由NETGEAR&#xff08;网件&#xff09;公司生产的无线接入器&#xff08;或无线路由器&#xff09;提供Wi-Fi保护协议&#xff08;WPA2-PSK, WPA-PSK&#xff09;&#xff0c;以及有线等效加密&#xff08;WEP&#xff09;64位、128位和152…