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

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

reverse的计算过程,所有使用所述inverse的字段都受到保护,这意味着即使它们的值不在缓存,也无法计算它们。...这意味着视图中不存在的字段创建记录期间不会触发调用。...odoo.api.model(method)[源代码] 修饰一个record-style的方法,其中self是一个记录集,但其内容不相关,只有模型相关,可以理解不会创建对应数据库记录的模型对象。...)[源代码] 修饰一个以字典列表参数,并创建多条记录的方法。...在出现字段的表单视图中,当修改某个给定字段时,将调用该方法。包含表单存在的值的伪记录上调用该方法。该记录上的字段赋值将自动返回客户端。

13.2K10

odoo 开发入门教程系列-一个新应用

以下为包含一些广告的主列表视图 form视图顶层区域概括了房产的重要信息,比如name,Property Type, Postcode等等。...列表记录详情页,第一个tab包含了房产的描述信息,比如:bedrooms, Living area, Garage,Garden 第二个tab页,列出了房产的报价。...Goal: 该小节的目标是让odoo识别我们的新模块,一个空壳。它将显示Apps 创建模块的第一步:新建一个目录。...为了让开发更轻松,建议首先创建目录 /home/$USER/src/custom,然后该目录添加待创建的新模块对应的目录(本例 estate)。...__init__.py 目前可以保持,下一章我们回过头理它。而 __manifest__.py 文件必须描述模块,且不能保持。其必不可少的字段 name, 但通常会包含更多信息。

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

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

这是因为,odoo中加载CSV文件比加载XML文件更快。 odoo,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件记录来定义的。...常见的模式 菜单> action > 视图。为了访问记录,用户几个菜单级中导航。最深层是触发打开记录列表的action。 操作(Actions) 参考: 主题相关文档可以查看 Actions....view_mode 可获取的视图。本例列表(树)和表格视图odoo到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 <?...适当的位置(本例odoo14/custom/estate/models/views)创建 estate_property_views.xml <?xml version="1.0"?...然而,菜单总是遵循一种体系结构,实际上有三个层次的菜单: 根菜单,显示App切换器Odoo社区版切换器是一个下拉菜单) 第一级菜单,显示顶部栏 动作菜单 最容易的方式是XML文件定义结构来创建菜单

2.8K30

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

选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页内联tree视图("Offers" Tab页)的列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久的;它们一定时间自动从数据库删除。...#因为使用了@api.model修饰符,self记录集,所以不能通过self.fieldName = value 的方式赋值''' res = super(DemoWizard,...以下属性皆hasCheckBoxes "true"的情况下起作用。 modelName 点击列表复选框时,需要访问的模型名称,需要配合modelMethod方法使用,缺一不可。...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图的Action,可以ir.actions.act_window定义添加

5.2K60

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

我们的estate模块,我们需要以逻辑方式组织字段: 列表(树)视图中,我们希望显示的不仅仅是名称。 表单视图中,应该对字段进行分组。 搜索视图中,我们必须能够搜索的不仅仅是名称。...列表视图,也叫树(tree)视图, 以表格的形式显示记录视图根元素。...last_seen"/> 练习 -- 添加一个自定义列表视图 合适的XML文件estate.property model定义一个列表视图。...odoo,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...合适的XML estate.property 模型定义一个搜索视图 添加过滤和分组 添加以下内容到之前创建就的搜索视图 一个显示avaliable地产的过滤器,也就说,state应该为 “New

3.2K40

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

例如,我们的房地产场景,我们希望常规用户视图中直接显示销售人员的财产列表。...创建报价时,设置房产状态‘Offer Received’,如果用户试图以低于已存在报价的金额创建报价时抛出错误。 提示: 可在vals获取property_id 字段,但是它是一个int型。...odoo,第一种机制最常用。我们的例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...我们的示例“models/inherited_model.py”。...目标: 在用户表单视图中显示与销售人员关联的avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。

2.2K20

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

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经Odoo见过 看板,其中的记录以卡片状结构显示。...目标: 本节结束时创建一个房产的看板视图 我们的地产应用程序,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。...本例,它用于将模板的name设置kanban-box :oe_kanban_global_click让可点击,以打开记录...练习--制作一个最小的看版视图 根据上述提供的简单例子,房产创建一个最小化的看板视图。唯一展示的字段name....在上面的示例,字段name被添加到元素,但state它之外。当我们需要字段的值但不想在视图中显示它时,可以将其添加到元素之外。

2K20

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

模型之间的关系(Relations Between Models) 上一章介绍了包含基本字段的模型创建自定义视图。然而,在任何真实的业务场景,我们都需要不止一个模型。此外,模型之间的链接是必要的。...该练习是对前几章很好的扼要重述:你需要创建一个 model,设置 model,添加 动作和菜单,并且创建视图....买家可以是任何个人,然而,销售人员必须是房产机构的员工(即odoo用户)。 odoo,有两种我们经常引用的两种模型: res.partner: 一个partner一个物理实体或者法人实体。...然而,本例,我们希望显示给定地产的报价列表,因此我们将使用one2many概念。 one2many是many2one的反向实现。...res.partner) required property_id Many2one (estate.property) required 使用price,partner_id,status字段创建列表和表单视图

4.3K40

odoo context上下文用法总结

_context is {'key1': True, 'key2': True} 需要注意的是,上下文是和记录集绑定的,修改的上下文并不会在其它记录集中共享 应用场景示例 用于action,关联视图添加默认搜索...、过滤条件 视图定义 设置action打开的tree列表视图,添加默认搜索,搜索条件 state字段值等于True 说明:context属性值的字典的键值如果模型定义的字段名称,则该字段名称必须以元素的形式,出现在模型对应的视图(即不能是内联视图,比如内联Tree列表),否则会出现类似错误提示...可编辑列表视图字段搜索添加查询过滤条件](odoo 可编辑列表视图字段搜索添加查询过滤条件.md) 用于记录集,传递数据给模型方法 模型设计 #!...string='Color') @api.model def create(self, vals_list): # 通过重写模型的create或者write方法,调用该方法前修改上下文,然后方法通过

2K20

odoo列表视图添加按钮实现数据文件导入

;limit 设置列表视图每页最大显示记录数 菜单定义 odoo14\custom\estate\views\estate_menus.xml estate_customer_tree 组件定义 js实现 列表视图添加自定义上传数据文件按钮 odoo14\custom\estate\static\src\js\estate_customer_tree_upload.js...,想复用上述js,需要替换js以下内容: 修改estate.upload.customer.mixin其它自定义全局唯一值 替换o_estate_customer_upload在对应按钮视图模板定义的对应...class属性值 替换estate.CustomerHiddenUploadForm在对应按钮视图模板定义的隐藏表单模版名称 替换EstateCustomerListView.buttons对应按钮视图模板定义的按钮模版名称...替换estate_customer_tree自定义全局唯一值 do_action Widget() 的快捷方式(定义odoo14\odoo\addons\web\static\src\js\core

3.4K30

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

创建计算的字段,请创建字段并将其属性compute设置方法的名称。计算方法应为self的每个记录设置计算的字段的值。...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时的奔溃 表单和列表视图中添加字段,正如本章目标显示的第二个动画中的一样。...Onchanges 参考: 主题关联文档可查看onchange(): 我们的房地产模块,我们还想帮助用户输入数据。设置“garden”字段,我们希望花园面积和朝向提供默认值。...练习--花园面积和朝向赋值 estate.property模型创建 onchange 方法以便当勾选花园时,设置花园面积(10)和朝向(North),未勾选时,移除花园面积和朝向值。...永远不要使用onchange将业务逻辑添加到模型。这是一个非常糟糕的想法,因为以编程方式创建记录时不会自动触发onchanges;它们仅在表单视图中触发。

3.1K30

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

选择字段 在上一篇教程,我们已经创建好了待办事项的模型,但是只是添加了「描述」和「已完成?」两个字段,这肯定是不能满足我们的需求的。...此处我们还给这个字段添加了默认值 todo,表示当一个待办事项被创建,如果没有指定紧急程度,将默认是待办状态。我们可以为任意类型的字段添加默认值。...在上一篇教程我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更的样子,除了从应用列表中找到模块进行升级外,我们还可以命令行Odoo 的启动命令加上参数 -u todo 指定升级...这个需求跟时间有关,并且时间是流动(一直变化)的,所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo 的 ORM 已经我们实现了相关的机制——计算字段...这篇教程的代码同样会更新我的 GitHub 仓库

1.3K10

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

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录货主和仓库字段搜索,添加过滤条件...,具体如下: 添加、编辑货主时,下拉列表只展示选取和当网仓记录所属公司关联的货主,点击搜索更多,仅展示和当前网仓记录所属公司关联的货主 添加、编辑货主时,下拉列表只展示选取和当网仓记录关联的仓库(到...“仓库” Tab页添加的仓库),点击搜索更多,仅展示和当前网仓记录关联的仓库。...--此处代码已省略--> 添加过滤条件代码实现 修改视图,给视图添加context <?xml version="1.0" encoding="UTF-8" ?...,点击下拉列表时 搜索更多打开界面时,会请求该模型函数) 提示:分析OmsNetworkLine模型定义可知道,货主字段(partner_id)多对一字段,关联ResPartner 模型 class

1.1K30

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

模块交互 在上一章,我们使用继承来修改模块的行为。我们的房地产场景,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...链接模块(Link Module) 此类使用案例的常见方法是创建“链接”模块。我们的案例,该模块依赖estate 和account,包括房产的发票创建逻辑。...说明:__init__.py 重启服务,安装模块 创建发票 是时候生成发票了。我们希望estate.property模型添加功能,即我们希望在出售房产时添加一些额外的逻辑。...为此,我们需要在estate_account模块创建一个模型,继承estate.property模型。

1.6K10

Ubuntu 16.04上安装Odoo 10

部署Odoo允许管理员安装任何模块组合,并根据业务需求配置/定制它,范围从小型商店到企业级公司。 本教程介绍了如何使用Git源代码一小时内安装和配置Odoo,以便于升级,维护和自定义。...PostgreSQL用户 切换到postgres用户: sudo su - postgres 数据库用户设置一个强密码并将其记录在一个安全的位置,您将在以下部分需要它: createuser odoo...对于正常安装,您可以跳过此行,并且此Odoo实例将默认连接到端口8069。 注意 如配置日志部分中所述,Ubuntu 16.04有很多Odoo日志记录选项。.../lib/systemd/system/odoo-server.service创建一个新文件并添加以下内容: [Unit] Description=Odoo Open Source ERP and...xmlrpc_port = 8080 ​ Odoo测试环境创建一个systemd单元。

3.3K42

如何使用 psql 列出 PostgreSQL 数据库和表

本教程解释如何使用psqlPostgreSQL服务器显示数据库和表。 列出数据库 您可以使用该 psql 命令以任何系统用户身份连接到 PostgreSQL 服务器。...安装 PostgreSQL 软件包,将创建名为 “postgres” 的管理用户。默认情况下,此用户可以没有密码的情况下连接到本地 PostgreSQL 服务器。...要在不访问 psql shell 的情况下获取所有数据库的列表,请使用 -c 如下所示的开关: sudo -u postgres psql -c "\l" 列出数据库的另一种方法是使用以下 SQL 语句...例如,要连接到名为 “odoo” 的数据库,您应键入: \c odoo 切换数据库,使用 \dt 列出所有数据库表: 输出将包括表的数量,每个表的名称及其架构,类型和所有者:...) 如果数据库,则输出将如下所示: No relations found.

4K10
领券