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

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

参考: 本主题相关文档可查阅 Many2one 在我们房地产模块,我们想定义房地产类型概念,例如,房屋或公寓。...买家可以是任何个人,然而,销售人员必须是房产机构员工(即odoo用户)。 在odoo,有两种我们经常引用两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...练习2 会用上述提到两种常用model添加买家和销售人员到estate.property模块。将它们添加到form视图中新tab页面。 销售人员默认值必须是当前用户。买家不能被复制。...many2many是一种双向多重关系:一侧任何记录都可以另一侧任何数量记录相关。...odoo如何知道我们报价哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义

4.4K40

odoo 为可编辑列表视图字段搜索添加查询过滤条件

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中货主记录,为货主和仓库字段搜索,添加过滤条件...,具体如下: 添加、编辑货主时,下拉列表只展示选取和当网仓记录所属公司关联货主,点击搜索更多,仅展示和当前网仓记录所属公司关联货主 添加、编辑货主时,下拉列表只展示选取和当网仓记录关联仓库(到...“仓库” Tab页添加仓库),点击搜索更多,仅展示和当前网仓记录关联仓库。...--此处代码已省略--> 添加过滤条件代码实现 修改视图,给视图添加context 修改ResPartner,重写模型name_search(编辑货主字段,弹出下拉列表时,会请求该模型函数),search_read(编辑货主字段

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

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

自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段值将从其他字段值中计算出来。 到目前为止,字段已直接存储在数据库并直接从数据库检索。字段也可以被计算。...在这种情况下,不会从数据库检索字段值,而是通过调用模型方法来动态计算字段值。 要创建计算字段,请创建字段并将其属性compute设置为方法名称。...方法设置字段相关性。...> 重启服务,浏览器验证(参考本章目标第二个动画视图) 其它信息 默认计算字段不会存到数据库,因此,不可能基于计算字段进行搜索,除非定义一个search 方法。...computed field和onchanges常见陷阱是试图通过添加过多逻辑来变得“过于智能”。这可能会产生预期相反结果:终端用户被所有自动化所迷惑。

3.1K30

odoo ORM API学习总结兼orm学习教程

它必须返回条件field operator value等效domain 计算字段默认值。为了允许对计算字段进行设置,使用inverse参数。...在reverse计算过程,所有使用所述inverse字段都受到保护,这意味着即使它们值不在缓存,也无法计算它们。...这意味着这些inverse字段值(触发inverse方法值除外)可能不会给出正确值,这可能会破坏inverse方法预期行为 相关字段(Related fields) 计算字段一种特殊情况是相关...所有无语义属性都从源字段复制。 默认, related字段: 不被存储 不被复制 只读 超级用户模式下被计算计算字段那样,添加 store=True 以存储related字段。...进行格式化 odoo.fields.One2many和odoo.fields.Many2many使用特殊“命令”格式来操作存储在字段/字段关联记录集。

13.3K10

odoo 开发入门教程系列-模块交互

Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...super 调用 提示: 为了确保它正常工作,添加一个print 或者调试断点到重写方法。...不幸是,没有一种简单方法可以知道如何在Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块是如何完成你想做事情。...例如,销售一个基本流程是从销售订单创建发票。这看起来是一个很好起点,因为它正是我们想要做。花一些时间思考和理解创建发票方法。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法描述特殊“commands”。

1.6K10

odoo Actions学习总结

所有Action都有两个强制属性: type 当前Action类别,决定可以使用哪些字段以及如何解释action name action名称,在客户端界面显示对action简短用户可读描述...context (可选) 传递给视图附加上下文 domain (可选) 隐式添加到所有视图搜索查询过滤domain limit (可选) 默认情况下要在列表显示记录数。...highlight=do_action#the-action-manager 在数据库window action,操作有几个不同字段,这些字段应被客户端忽略,主要用于组成view列表 view_mode...所有这些类型都必须在生成views列表(至少有一个False view_id) view_ids M2M(技术上不是M2M:添加了一个sequence字段,可以只由一个视图类型组成,没有视图id)...每个未填充类型,追加(False,type) 应用实践举例 在estate模块estate.property模型表单视图中,为Action添加菜单"选取offers",如下: !

2.6K30

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

例如,在我们房地产场景,我们希望在常规用户视图中直接显示销售人员财产列表。...,提示如下: 模块继承(Model Inheritance) 引用: 查看主题相关文档继承和扩展 我们希望在“Settings/Users & Companies/Users”表单视图中直接显示销售人员关联房产列表...第一继承机制允许模块通过以下方式修改在另一个模块定义模型行为: 向模型添加字段 覆盖模型字段定义 给模型添加约束 给模型添加方法 重写模型现有方法 第二种继承机制...odoo,第一种机制最常用。在我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...目标: 在用户表单视图中显示销售人员关联avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。

2.2K20

Odoo系统介绍和对比

image.png 4.客户列表 客户列表采用卡片式展示 image.png 5.创建商机 image.png 6.商机各个阶段(支持拖动) image.png 7.安排活动 活动安排是基于商机,销售计划是基于客户...image.png 8.记录备注 记录备注能添加关注者,不过只是发送邮件 image.png 9.摘要 摘要只是客户资料其中一项内容,没有单独做成标签 image.png 10.第三方应用...(微信集成) image.png 11.微信模块 Odoo 微信模块,提供了对微信公众号和企业号(企业微信)接入管理,实现了微信消息Odoo聊天无缝对接: 用户、组同步管理 用户消息对接chat...image.png 13.库存管理 image.png 14.订单管理 image.png 15.产品管理(电子商务) image.png 16.组件化设计--模块化应用 支持各种模块...2、MongoDB非关系型数据库,没有事务,跟金钱相关,对事务性要求比较严格场景不太合适 3、PostgreSQL相当于MySQL+MongoDB,既是关系型数据库,又保障性能 4、Odoo为小微企业服务

3.8K20

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

TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久;它们在一定时间后自动从数据库删除。...wizard可以通过关系字段(many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚表达本文主题...,供web端使用,用于区分不同页面操作数据,'estate.property.offer_3'为供web端使用记录ID,'data'键值代表记录数据,其id键值代表记录在数据库主键id,context...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图Action,可以在ir.actions.act_window定义添加...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取记录存到浏览器sessionStorage,可选 odoo14\custom\estate

5.2K60

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

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件定义。...它们是ir.ui.view model实例。 在我们estate模块,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示不仅仅是名称。 在表单视图中,应该对字段进行分组。...其最基础版本仅简单列出要在表显示所有字段(其中每个字段都是一列): <field name="...domain 引用: 本主题<em>相关</em>文档可参考 Search domains. 在<em>odoo</em><em>中</em>,domain对记录上<em>的</em>条件进行编码:domain是用于选择模型记录子集<em>的</em>条件列表。...>', 1000)] 默认情况下,条件<em>与</em>隐式AND组合在一起,这意味着记录匹配一个domain,需要满足domain<em>中</em><em>的</em>每个条件。

3.2K40

【敲敲云】零代码实战,主子表汇总统计—免费零代码产品

近来很多朋友在使用敲敲云时,不清楚如何使用主子表,及如何在主表中统计子表数据;下面我们就以《订单》表及《订单明细》表来设计一下吧,用到组件有“设计子表”、“公式”、“汇总”等。...《订单》表展示总金额 = 订单明细“小计”求和小计 = 单价*数量图片首选我们打开敲敲云,进入“敲敲云平台”,注册或登录敲敲云。可新建应用或进入已有应用。例如点击进入“销售管理”。图片1....新建主表《订单》表图片2. 设计主表《订单》表先根据需求添加订单基本属性,将组件直接拖拽至表单即可。订单编号、订单状态、订单日期等。图片3....即“公式组件”用法;小计 = 数量 * 单价将“公式组件”添加到子表并修改字段名称为“小计”图片类型选择为“数值”,计算方式选择为“乘积”其他计算方式,我们使用“自定义”图片选择计算乘积字段—“...将“汇总组件”拖拽至《订单》表,并修改名称为“总金额”图片4.1 汇总设置“关联表”选择“订单明细”图片汇总字段选择“小计”,汇总方式选择“求和”数值类型字段可以选择“求和”等计算,其他类型字段只能选择

1.4K30

odoo 权限管理学习总结

base.user_root: __system__用户(ID为1用户,technical admin ) category定义相关数据存储在ir_module_category表 添加group...规则关联关系存在rule_group_rel表 global 根据“groups”计算,提供了对规则是否全局状态轻松访问。...) ORM字段可以具有提供组列表groups属性(值为逗号分隔组XML ID列表,groups='base.group_user,base.group_system')注意:groups属性值格式...如果当前用户不在列出,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate...对该字段实现统一权限控制话,需要在模型定义,为目标字段添加groups属性,如下: selling_price = fields.Float('selling price', digits=(8,

10K20

在云端快速构建一个 ODOO 站点

ODOO 作为一款开源软件,功能却非常完善,涵盖了账户、CRM、销售、支付、仓储、项目管理、网站建设等等模块,并且还支持开发自定义模块。...本文主要介绍如何在腾讯云环境下,通过简单步骤,快速搭建一个 ODOO 站点。...在pssword后输入密码,密码为管理员账号密码,回车后即完成登录。 注:管理员账号初始密码在上面购买过程设置过,用户也可以重置密码,详见管理员账号密码重置。...ODOO 任务目标:安装ODOO组件,完成系统和数据库相关配置,启动服务 安装ODOO组件 yum-config-manager --add-repo=https://nightly.odoo.com/...& 任务四:初始化ODOO配置 任务目标:通过浏览器访问ODOO,初始化管理数据库,进入主页面 访问:http://:8069/,输入相关参数,完成初始化数据库工作。

9.7K30

odoo 开发入门教程系列-一些用户界面

我们看到一些属性,required=True,会影响数据库表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。...字段定义添加 default=X, 其中X 可以是Python文本值(boolean, integer, float, string) ,也可以是一个以model对象自身为入参并返回一个值函数:...字段默认值为‘Unknown’,而last_seen 字段默认值为当前时间 练习 -- 设置默认值 添加适当默认值: 卧室数量默认值为 2 可用日期默认为3个月内 修改 odoo14\custom\...参考: 主题相关文档可参考 保留字段名称. odoo为预定义行为保留了一些字段名称。...当需要相关行为时,需要在模型定义这些保留字段。 练习 -- 添加active字段 添加一个 active 字段到estate.property 模型。

2.8K30

odoo 开发入门教程系列-模型和基本字段

在我们房地产模块,我们希望将与房地产相关信息(名称(name)、描述(description)、价格(price)、居住面积(living area)…)存储在数据库。...最重要属性为 _name,该属性定义了model在odoo系统属性。...有两大类领域字段:‘简单’字段--直接存储在模型表原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型记录...给模型表estate_property添加字段 添加以下字段到表 Field Type name Char description Text postcode Char date_availability...自动创建字段(Automatic Fields) 参考: 该话题相关文档可参考 Automatic fields. odoo会在所有model(当然,也可以配置禁止自动创建某些字段)创建少数字段

2.3K30

Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

在这篇教程里我们将会了解到 Odoo 模型里一些其他类型字段和特殊机制,而我依然会继续带领大家一起完善我们 Todo 应用,不断地往里面添加一些新功能特性,让它看起来更丰满也更实用一些。...选择字段 在上一篇教程,我们已经创建好了待办事项模型,但是只是添加了「描述」和「已完成?」两个字段,这肯定是不能满足我们需求。...name="name"/> 计算字段视图装饰器...这个需求跟时间有关,并且时间是流动(一直在变化),所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo ORM 已经为我们实现了相关机制——计算字段...deadline 这个字段值(我们需要用它值和当前时间进行比较),如果一个计算字段会用到多个其他字段值,这里就需要以逗号分隔,将用到字段名依次传入装饰器

1.3K10

有赞BI平台实现原理

图1.5 图表编辑 小技巧 1.添加计算字段:适合需要二次加工计算指标 转化率 = count(XXX) / count(XXX)(相当于Excel pivot里计算字段) 2.报表复制功能...筛选: 可以对字段或数值进行筛选,包括对原生字段计算字段、及字段聚合后数据进行过滤,筛选出“订单状态”为“交易成功”,交易额大于1000订单信息。...2.5 计算字段 对需要二次加工计算指标,转化率等,用户可自定义SQL片段对数据集进行加工,生成额外虚拟字段。...图2.3 联动图-2 2.7 行列权限 对同个报表,不同的人看到数据或字段信息应该是不一样杭州地区销售经理只能看到杭州地区销售情况,上海地区销售经理只能看到上海地区销售情况,但销售总监可以看到各个地区销售情况...图3.4 带聚合运算计算字段 当一个聚合类型计算字段订单类型列维度共存时候,生成SQL为: SELECT try( sum(if(order_type = '订单类型3', gmv , 0))

1.8K10

找不到工作之摸索生存之路一

,账号,密码,到期时间来添加租户,可提前禁用,等功能运行后台运营后台功能初步功能设计如下功能一:首页下面功能可以按线路查询(线路是配置)统计月销售额,比如选择 2023 年,那么统计一下每个月销售额统计用户增长数...,比如选择 2023 年,那么统计一下每个月新用户数统计商品销售数量,按分类年份统计,统计商品销售数量代办,待发货数量,货不足数量(点击出现相关列表)客户消费排行版本,前十名(名字,号码,消费金额...)功能二:商品相关商品分类查询,按分类名称查询添加,可以添加字段: *名称,选择父分类,排序(数值,越小展示时越考前),图标修改,可以修改字段: *名称,选择父分类,排序,图标删除,注意是否有子商品...、收货人相关信息、商品相关信息、费用信息、相关操作信息(人、时间、订单状态、发货状态,备注,谁修改了订单)删除订单(逻辑删除),要有确认提示修改订单,可以修改订单商品数量等,按当时逻辑重新计算价格完成订单...,已完成我地址,添加字段:手机号码,收货人姓名,省(默认选中河南),市,区,详细地址,是否是默认(缺省选中)关于,用户&设置关于我们配置内容总结系统第一版本功能初步设计完毕,在开发过程肯定会存在不合理地方漏洞

20910

odoo 开发入门教程系列-约束(Constraints)

约束(Constraints) 上一章介绍了向模型添加一些业务逻辑能力。我们现在可以将按钮链接到业务代码,但如何防止用户输入错误数据?...例如,在我们房地产模块,没有什么可以阻止用户设置负预期价格。 odoo提供了两种设置自动验证恒定式方法:Python约束 and SQL约束。...SQL 参考:与此主题相关文档可以查看 Models 和PostgreSQL文档 我们通过模型属性_sql_constraints来定义SQL约束,该属性被赋值为一个包含三元组(name, sql_definition...Python约束定义为用 constrains()修饰方法,并在记录集上调用。修饰符指定约束涉及哪些字段。当修改这些字段任何字段时,将自动计算约束。...Python约束 添加售价不能低于预期价格90%约束 提示: 报价生效前,保持售价为0。

1.4K20

何在 CentOS 8 上安装 Odoo 13

这个指南讲解了如何在 CentOS 8 上一个 Python 虚拟机环境从源码安装 Odoo 13。我们将会从 Github 上编译 Odoo 源码并且配置 Nginx 作为反向代理服务器。...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 工作进程数字。工作进程数字,基于 系统 CPU 核心数字和可用 RAM 内存来计算。...想要切换到多进程模式,打开配置文件,并且添加计算值: /etc/odoo13.conf limit_memory_hard = 2684354560 limit_memory_soft = 2147483648...十二、总结 这篇指南带你浏览了如何在 CentOS 8 上 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

3.9K20
领券