首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

odoo 开发入门教程系列-继承(Inheritance)

例如,我们的房地产场景,我们希望常规用户视图中直接显示销售人员的财产列表。...介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...我们的房地产模块,我们从不需要开发任何特定的东西来执行标准的CRUD操作。...Settings/Users & Companies/Users”表单图中直接显示与销售人员关联的房产列表。...目标: 在用户表单图中显示与销售人员关联的avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,不是就地修改现有视图(通过重写它们)。

2.2K20

odoo 开发入门教程系列-基本视图

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。 视图是带有操作和菜单的XML文件定义的。...我们的estate模块,我们需要以逻辑方式组织字段列表(树)视图中,我们希望显示的不仅仅是名称。 表单图中,应该对字段进行分组。 搜索视图中,我们必须能够搜索的不仅仅是名称。...表单用于创建和编辑单条件记录,其根元素为 ,由高层框架元素(group和notebook)和交互元素 (按钮和字段): ...odoo,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...它们用于前缀位置(运算符插入在其参数之前,不是插入参数之间)。

3.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

odoo 开发入门教程系列-QWeb简史

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经Odoo见过 看板,其中的记录以卡片状结构显示。...目标: 本节结束时创建一个房产的看板视图 我们的地产应用程序,我们希望添加一个看板视图来显示我们的房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...:这向视图中添加name字段。...在上面的示例字段name被添加到元素,但state它之外。当我们需要字段的值但不想在视图中显示它时,可以将其添加到元素之外。... 验证效果 看板视图是一个典型的例子,说明从现有视图开始并对其进行微调不是从头开始总是一个好主意

2K20

odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

本章目标 房地产模型,自动计算总的面积和最佳报价 预期效果: 地产报价模型,自动计算合法的日期且可被更新 我们的房地产模块,我们定义了生活区和花园区。...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时的奔溃 表单和列表视图中添加字段,正如本章目标显示的第二个动画中的一样。...为了实现这一点,我们定义了一个方法,其中self表示表单图中的记录,并用 onchange()修饰该方法,以指明它由哪个字段触发。...同时,需要注意的是,不要循环遍历 self,因为该方法表单图中触发,self总是代表单条记录。...永远不要使用onchange将业务逻辑添加到模型。这是一个非常糟糕的想法,因为以编程方式创建记录时不会自动触发onchanges;它们仅在表单图中触发。

3.1K30

odoo Actions学习总结

所有Action都有两个强制属性: type 当前Action的类别,决定可以使用哪些字段以及如何解释action name action的名称,客户端的界面显示对action的简短用户可读描述...web客户端默认为80 name(可选),action名称,界面显示时拼接到当前面包屑导航(现有导航面包屑 / name值)。...所有这些类型都必须在生成的views列表(至少有一个False view_id) view_ids M2M(技术上不是M2M:添加了一个sequence字段,可以只由一个视图类型组成,没有视图id)...如果您计划为模型允许多个视图,优先使用ir.actions.cact_window.wiew不是view_ids action。...,追加(False,type) 应用实践举例 estate模块的estate.property模型的表单图中,为Action添加菜单"选取offers",如下: !

2.6K30

odoo 权限管理学习总结

res_partner表,那么odoo如何区分用户类型以及如何做权限控制的呢?...可以利用该特性实现隐藏对象需求,比如针对一些常规下不需要显示的特殊字段,为其设置属性groups = "base.group_no_one",可以实现在非Debug模式下隐藏字段图中显示。...如果当前用户不在列出的组,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate...注意:通过为当前视图中目标字段添加groups属性实现的权限控制仅作用于当前视图,如果希望当前视图模型(Model)的所有视图中,对该字段实现统一的权限控制话,需要在模型定义,为目标字段添加groups...Roles 编辑用户,勾选图中的角色,保存,发现和角色关联的权限组都会被自动勾选了。

10K20

odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

我们的estate模块,我们需要有关房产的以下信息: 购买房产的客户 出售房产的真实重述代理人 房产类型:房子、公寓、顶层公寓、城堡… 显示了该酒店特色的一系列标签:舒适、翻新… 收到的报价清单 Many2one...买家可以是任何个人,然而,销售人员必须是房产机构的员工(即odoo用户)。 odoo,有两种我们经常引用的两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...到estate.property 模型,表单和列表视图 提示: 视图中,使用 widget="many2many_tags"属性正如这里展示的一样。...然而,本例,我们希望显示给定地产的报价列表,因此我们将使用one2many概念。 one2many是many2one的反向实现。...我们的练习中就是这样的:报价总是通过房产获得的。 其次,尽管property_id字段是必需的,但我们没有将其包含在视图中odoo如何知道我们的报价与哪个房产相关?

4.4K40

ODOO配置文件etcodoo.conf配置详解

www.mycompany.com或mycompany.co.uk,则将显示数据库“mycompany”,不是www2.mycompany.com或helpdesk.mycompany.com。...** **如果希望Odoo和PostgreSQL同一台计算机上执行,UNIX套接字是可以的,并且没有提供主机时是默认的,但是如果希望Odoo和PostgreSQL不同的计算机上执行,则需要侦听网络接口...**的基本参数 Odoo通过端口5432通过UNIX套接字连接到本地postgres。...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%的请求是繁重请求,80%是简单请求 一个繁重的工作,当所有的计算字段都设计好了...这样做时,您需要将更多的http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。

6.6K21

Ubuntu 16.04上安装Odoo 11堆栈

本指南介绍了如何配置Odoo 11生产集群,其中Odoo服务器和PostgreSQL数据库托管单独的Linode上,并通过数据库主从复制来提高性能和可靠性。...--single-branch /opt/odoo 注意 Odoo 11应用程序现在使用Python 3.x不是Python 2.7。...这将安装pg_dump和其他实用程序,让您可以像以前一样使用Odoo GUI。由于Odoo配置是明确的数据库连接,您不必担心其他任何事情。此方法将数据库还原到masterdb服务器不是odoo。...您可以与测试或备份数据库服务器同步,不是与从属节点同步: 1.masterdb上编辑/etc/postgresql/9.6/main/pg_hba.conf以允许测试服务器连接到它。...使用上面介绍的方法,您将在同一版本更新Odoo应用程序,不是升级到较新的Odoo版本。

8.9K30

ASP.NET MVC学习笔记06编辑方法和编辑视图

图中用到了DataAnnotations。Display属性指明要显示字段的名 称(本例“Release Date”来代替“ReleaseDate”)。...DataType属性用于指定类型的数据,本例它是一个日期,所以不会显示存放在该字段时间详情。DisplayFormat属性Chrome浏览器里有一个bug:呈现的日期格式不正确。...ModelState.IsValid方法用于验证提交的表单数据是否可用于修改(编辑或更新)一个Movie对象。...如果禁用 JavaScript,则不会有客户端验证,但服务器将检测回传的值是无效的,而且将重新显示 表单的值与错误消息。本教程的后面,我们验证更详细的审查。...下面的代码演示如何检查 movieGenre参数。如果它不是空的,代码进一步指定了所查询的电影流派。 if (!

5K50

odoo wizard界面显示带复选框列表及勾选数据获取

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的"...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久的;它们一定时间后自动从数据库删除。...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图的Action,可以ir.actions.act_window定义添加...odoo14\custom\estate\static\src\js\list_renderer.js 注意:之所以将uuid函数定义list_renderer.js,是为了避免因为js顺序加载问题...> 说明:class="oe_highlight" 设置按钮高亮显示

5.2K60

如何在 Ububtu 18.04 上安装 Odoo 13

虚拟环境安装 Odoo,或者部署一个 Docker 容器,允许你对系统的设置有更多的控制,并且可以同一个系统上运行多个 Odoo 软件版本。...想要安装 PostgreSQL运行下面的命令: sudo apt install postgresql 一旦安装完成,创建一个 PostgreSQL,使用和之前创建系统用户一样的名字,我们的例子odoo13...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 的工作进程数字。工作进程数字,基于 系统的 CPU 核心数字和可用的 RAM 内存来计算。...十一、总结 这篇指南带你浏览了如何在 Ubuntu 18.04 上的 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

8.7K41

tinycolinux上编译odoo8

,当然,谈到cms,不是说它就是前端,它反而正是属于odoo后端支持部分的,只不过其展示部分是前端技术: 什么是CMS呢?所谓CMS,隐藏在内容管理系统(CMS)之后的基本思想是分离内容的管理和设计。...页面设计存储模板里,内容存储在数据库或独立的文件。 当一个用户请求页面时,各部分联合生成一个标准的HTML(标准通用标记语言下的一个应用)页面。...最后,odoo采用python,要谈到语言的优异对比足于掀起大论战了,我不重复那些聚焦语言内部如何pythonic的老话题,只讲几条外部特征: 1,C系和原生程序,是基本所有现实可见系统实现的基石,但...因为不这样做稍后安装完odoobase建立odoo数据库时会提示:new encoding (UTF8) is incompatible with the encoding of the template...database (SQL_ASCII) lnpp安装精简odoo,python模块和配置uswgi和nginx参数 ----- 我们先安装odoo再来处理python,这样运行它时可以逐个通过pip

1.4K40

ONLYOFFICE文档8.0现已发布,功能全新升级!

开发者可以直接从诸如Box、Moodle、Odoo、WordPress等应用程序中直接进行文档编辑,实现了多平台的紧密融合。...ONLYOFFICE文档8.0更新内容 更新一:显示协作者头像 ONLYOFFICE,为了更好的团队可视化,可以在编辑显示用户头像。...更新三:可填写的PDF表单 8.0 版本,可以 PDF 创建复杂的表单,并在桌面和移动应用程序在线填写。 使用 DOCXF 模板创建可填写的 PDF 表单 。...DOCXF 格式支持插入各种类型的字段并根据需要进行调整。与常规文档一样,可以修改文本的样式和格式,并与团队一起协作处理表单。...我们针对用户的请求和建议改进了表单 ONLYOFFICE 创建的表单也可以在其他应用程序打开; 在其他应用创建的表单,也可以用 ONLYOFFICE 进行填写; 让开发人员和集成商更方便集成

8310

「学习笔记」HTML基础

移动端和pc端视口是不同的,pc端的口是浏览器窗口区域,而在移动端有三个不同的口概念:布局口、视觉口、理想口 meta有两个属性name 和 http-equiv name属性的取值 keywords...如果我们文档添加那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,不是使用@import方式。...表格」 现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。因为它可以让数据显示的非常的规整,可读性非常好。...但有时候我们希望关闭输入框的自动完成功能,例如当用户输入内容的时候,我们希望使用AJAX技术从数据库搜索并列举不是在用户的历史记录搜索。...这也是为什么将js脚本放在底部不是头部。

3.7K20

Django 1.10文文档-第一个应用Part7-自定义管理站点

你可以注册时通过配置来实现。 现在先来试试重新排序表单上的字段。...在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地将所有的外键关系展示为一个select框。...我们的例子,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含外键关系的对象都会有这个绿色加号。...QuestionAdmin添加下面的代码: list_filter = ['pub_date'] 它添加了一个“过滤器”侧边栏,这样就可以通过pubdate字段来过滤显示question: ?...但是如果它变得越来越复杂,因为某些功能需要修改Django的标准admin模板,那么修改的模板就比修改项目的模板更加明智。

3.6K60
领券