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

odoo Actions学习总结

环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作的行为:登录、操作按钮、选择发票等… action可以存储在数据库中,也可以作为字典直接返回...binding_view_types 以逗号分隔的视图类型列表,即Action需要显示的上下文菜单所在的视图,主要是“列表”和“表单”。...默认为list,form(列表和表单) Window Actions (ir.actions.act_window) 最常见的动作类型,用于通过视图呈现模型的可视化:Window Action为模型定义了一组视图类型...如果未提供id,则客户端应获取所请求模型的指定类型的默认视图(这由 fields_view_get()自动完成)。列表的第一种类型是默认视图类型,在执行操作时默认打开。...默认获取模型的默认搜索视图。 target (可选) 视图是否应在主内容区域(current)、以全屏模式(fullscreen)或对话框/弹出窗口(new)中打开。

2.7K30

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

在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。 视图是在带有操作和菜单的XML文件中定义的。...它们是ir.ui.view model的实例。 在我们的estate模块中,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示的不仅仅是名称。 在表单视图中,应该对字段进行分组。...列表视图,也叫树(tree)视图, 以表格的形式显示记录。 视图根元素为。...搜索视图与列表及表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于过滤其他视图的内容(通常是聚合视图,比如列表). 除了在使用方面的不同,他们的定义方式是一样的。...运算顺序 以二元运算为例,从左至右读入表达式,遇到一个操作符后跟随两个操作数时,则计算之,然后将结果作为操作数替换这个操作符和两个操作数;重复此步骤,直至所有操作符处理完毕。

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

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

    Odoo框架提供了实现这些操作的必要工具。...事实上,多亏经典的Python继承,我们的模型中已经包含了这样的操作: from odoo import fields, models class TestModel(models.Model):...为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化的方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块中定义的模型的行为: 向模型添加字段 覆盖模型中字段的定义 给模型添加约束 给模型添加方法 重写模型中的现有方法 第二种继承机制...目标: 在用户表单视图中显示与销售人员关联的avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。

    2.3K20

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

    人们可以很容易地想象一个模型包含客户,另一个模型则包含用户列表。你可能需要参考任何现有业务模型上的客户或用户。...模型和表单,树,搜索视图 该练习是对前几章很好的扼要重述:你需要创建一个 model,设置 model,添加 动作和菜单,并且创建视图....到estate.property 模型,表单和列表视图 提示: 视图中,使用 widget="many2many_tags"属性正如这里展示的一样。...,不必创建动作和菜单 添加offer_ids字段到estate.property 模型极其表单视图 这里有几件重要的事情需要注意。...首先,我们不需要所有模型的操作或菜单。某些模型只能通过另一个模型访问。在我们的练习中就是这样的:报价总是通过房产获得的。 其次,尽管property_id字段是必需的,但我们没有将其包含在视图中。

    4.5K40

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

    计算的字段和变更(Computed Fields And Onchanges) 模型之间的关系是任何Odoo模块的关键组成部分。它们对于任何业务案例的建模都是必要的。...为了实现这一点,我们定义了一个方法,其中self表示表单视图中的记录,并用 onchange()修饰该方法,以指明它由哪个字段触发。...同时,需要注意的是,不要循环遍历 self,因为该方法在表单视图中触发,self总是代表单条记录。...始终首选computed field,因为它们也是在表单视图上下文之外触发的。永远不要使用onchange将业务逻辑添加到模型中。...这是一个非常糟糕的想法,因为在以编程方式创建记录时不会自动触发onchanges;它们仅在表单视图中触发。

    3.2K30

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

    表单视图也是如此:尽管使用了一些标记,如或,但在设计方面几乎没有什么可做的。 然而,如果我们想给我们的应用程序一个独特的外观,就必须更进一步,能够设计新的视图。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。...目标: 本节结束时创建一个房产的看板视图 在我们的地产应用程序中,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。...事实上,每张卡片的结构是表单元素(包括基本HTML)和QWeb的混合。看板视图的定义与列表视图和表单视图的定义相似,只是它们的根元素是kanban。...在本例中,它用于将模板的name设置为kanban-box :oe_kanban_global_click让可点击,以打开记录

    2.2K20

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

    , reload-刷新tree列表, do_action-执行action } 说明: 函数返回值,具体需要返回啥,实际取决于下文js实现(上传成功后需要执行的操作),这里结合实际可能的需求..._context, 'target': 'new' } } 说明:打开estate.customer.wizard默认form视图 形式3:实现类似浏览器刷新当前页面效果 return...utf-8 -*- from . import estate_customer 测试数据文件 mydata.xlsx 姓名 年龄 备注 张三 30 喜好运动 李四 28 喜欢美食 王五 23 测试模型视图定义...class属性值 替换estate.CustomerHiddenUploadForm为在对应按钮视图模板中定义的隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板中定义的按钮模版名称...t-jquery:接收一个CSS 选择器,用于查找上下文中,同CSS选择器匹配的元素节点(为了方便描述,暂且称之为上下文节点) t-operation:设置需要对上下文节点执行的操作(为了方便描述,暂且将

    3.5K30

    odoo 为form表单视图添加chatter功能

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如图,给表单新增一个类似聊天的窗口,当记录一些表单活动(本例为自动记录当前记录状态变化) 需求实现 模型定义...odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪的字段设置tracking属性,并设置属性值为真值 #!...,该模型类型为models.AbstractModel,其定义文件为 odoo14\odoo\addons\mail\models\mail_thread.py,其字段命名均以message_开头...tracking 该属性为True或数字时,打开针对该属性所属字段的修改日志--当所属字段内容发生变化时,系统会将该字段变化前后的值写入日志中,这个数字的大小影响变更日志在日志中的排序。...,类型为models.AbstractModel,定义在文件 odoo14\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应的,模型定义中

    79420

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

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的"...选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)的列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图的Action,可以在ir.actions.act_window定义中添加...ID web.ListRenderer来覆盖框架自带的web.ListRenderer定义,这种实现方案只能在非Debug模式下正常工作,且会导致无法开启Debug模式,odoo.define实现中会对服务是否重复定义做判断...,执行复选框操作时,先禁用按钮,不允许执行确认操作,因为执行复选框触发的请求可能没那么快执行完成,前端数据可能没完全传递给后端,此时去执行操作,可能会导致预期之外的结果。

    5.3K60

    odoo 通过Javascript显示或隐藏form自带按钮

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下,根据条件对form视图自带按钮的显示、隐藏进行控制 代码实现 隐藏、显示编辑和创建按钮为例 odoo14...function (require) { 'use strict'; let modelConfigs = { 'estate.property': { // form表单视图归属模型...,即需要对按钮的显示做管控的模型名称 /* hideEditButton hideCreateButton的值可以简单理解为eval函数的参数,形如 eval(arg),整个表达式计算结果为...} } return res; } }); }) 说明: 如果需要隐藏其它自带按钮、或自定义按钮,可以通过查看form视图的...根据实际需求,可以通过在js中打印this对象,以获取更多判断是否隐藏、显示按钮的有用信息。

    1.8K50

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

    在这篇教程里我们将会了解到 Odoo 模型里的一些其他类型的字段和特殊机制,而我依然会继续带领大家一起完善我们的 Todo 应用,不断地往里面添加一些新的功能特性,让它看起来更丰满也更实用一些。...在上一篇教程中我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后的样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行中给 Odoo 的启动命令加上参数 -u todo 指定升级.../mymodules --db-filter=^demo$ -d demo -u todo 升级后创建或打开任意一条待办事项进入到表单页面,就可以看到已经多了「紧急程度」这个字段了,并且默认选择了「待办...这个需求跟时间有关,并且时间是流动(一直在变化)的,所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo 的 ORM 已经为我们实现了相关的机制——计算字段...我们打开视图文件来加点东西上去: <!

    1.4K10

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

    ,最后定义的方法、函数名称会覆盖前面定义的相同名称。...在出现字段的表单视图中,当修改某个给定字段时,将调用该方法。在包含表单中存在的值的伪记录上调用该方法。该记录上的字段赋值将自动返回客户端。...(bool) – 设置为True以包含上下文操作 submenu – 已弃用 返回 请求视图的组成(包括继承的视图和扩展) 返回类型 dict 引发 AttributeError...逻辑 AND, 默认操作,以将条件相互结合。...and extension) Odoo提供三种不同的机制,以模块化方式扩展模型: 从现有模型创建新模型,向副本中添加新信息,但保留原始模块 扩展其他模块中定义的模型,替换以前的版本 将模型的一些字段委派给它包含的记录

    13.5K10

    在Ubuntu 16.04上安装Odoo 11堆栈

    software-properties-common 为Odoo配置防火墙规则 如果要为Linode配置防火墙,请打开以下端口: 节点 打开TCP端口 Odoo 11应用 22, 6010, 5432...切换到postgres用户并创建负责所有操作的数据库用户odoo。...如果您的代理和DNS配置工作正常,则会出现登录屏幕。 单击Manage Databases链接: 现在您可以看到之前创建的测试数据库。...5.单击“ Create Database”并使用测试数据库填写表单。选中“Load demonstation data”框以使用示例数据填充数据库。 6....从一个版本迁移到另一个版本通常需要对PostgreSQL数据库进行多次测试和手动修改,这些修改高度依赖于您要升级的Odoo版本。 更多信息 有关此主题的其他信息,您可能需要参考以下资源。

    8.9K30

    bigML中提升树模型的6个步骤

    2.创建你的数据集 一旦文件作为源文件上传,就可以将其转换为数据集。在您的源视图中,单击一次单击数据集以创建一个数据集,这是您的数据的结构化版本,可供机器学习算法使用。...默认情况下,您的数据集的最后一个字段被选为目标字段,但您可以使用左侧的下拉列表轻松更改。要启用提升,请在类型下选择提升树。这将打开高级配置下的增强标签。 当然,您现在可以使用默认设置并单击创建集成。...您需要通过将其预测与您的测试数据集中看到的实际值进行比较来评估提升树模型(Boosted Trees)。 为此,请在集成视图中单击1-click操作菜单下的评估。...就像BigML先前的监督式学习模型一样,您可以对一个实例或整个数据集的批量预测进行单一预测。 在整体视图中,单击1单击操作菜单下的预测(或批量预测)。...左手边已经有你的提升树模型(Boosted Trees)。从右侧的下拉列表中选择希望运行预测的数据集。当然,您可以自定义名称和预测输出设置。向下滚动以单击预测来创建预测。

    2.2K00

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

    这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。...常见的模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。最深层是触发打开记录列表的action。 操作(Actions) 参考: 主题相关文档可以查看 Actions....view_mode 可获取的视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 <?...卧室数量应该默认为2 默认可用日期应该为3个月 一些新属性 在进一步进行视图设计之前,让我们回到模型定义。...字段定义中,添加 default=X, 其中的X 可以是Python文本值(boolean, integer, float, string) ,也可以是一个以model对象自身为入参并返回一个值的函数:

    3K30

    odoo 权限管理学习总结

    -> Users & Companies -> Groups),并为用户分配不同的用户组,及设置相关权限(菜单权限,视图权限,访问权限,记录规则) 此外,为了更方便的管理用户组,odoo还支持对用户组...,一般会为模型的增删改查操作分别定义权限。...默认允许的记录规则:如果授予模型访问权限(Access Rights),并且没有规则适用于用户的操作和模型,则授予访问权限 记录规则保存在ir.rule模型表里,我们通过管理ir_rule表中的记录,即可控制记录的访问权限...注意:通过为当前视图中目标字段添加groups属性实现的权限控制仅作用于当前视图,如果希望当前视图模型(Model)的所有视图中,对该字段实现统一的权限控制话,需要在模型定义中,为目标字段添加groups...接口,会调用fields_view_get方法,可以重写此方法以控制xml显示的效果(参考网络资料,未实践验证) 按钮权限(按钮级别) 类似字段权限控制,仅需在在对应视图中,为目标按钮元素

    10.2K20

    BubbleRob tutorial 遇到的问题

    [菜单栏—>文件—>加载模型…]加载。然而,通过模型浏览器和场景视图之间的拖放操作来加载模型要容易得多,也方便得多。...模型的定义步骤如下: 将逻辑上属于模型的所有对象附加到一个基对象,这样基对象就是模型树的基。 检查对象公共属性中的模型基项。...如果您在稍后的阶段修改模型,这将简化模型的重新初始化。 在上面的对话框中,单击Edit model properties,您可以定义特殊的覆盖属性(例如,使整个模型不可见,不可冲突,等等)。...你也可以双击场景层次结构中的对象图标来打开对话框,或者单击它的工具栏按钮: ? 在“场景对象属性”对话框中,单击“公共”按钮以显示“对象公共属性”对话框。对话框显示最后选择对象的设置和参数。...Assembling装配:打开一个对话框,允许指定装配工具栏按钮将如何在装配过程中处理对象(如果对象以不同于装配工具栏按钮的方式进行装配,则以下设置不受影响): ?

    1.8K10

    三分钟让你了解什么是Web开发?

    使用JS,我们可以通过几种方式操作DOM树: JS可以通过添加、更改和删除页面中的所有HTML元素和属性来修改DOM树。 JS可以改变页面上的所有CSS样式。...该脚本还可以进行处理,可以从获取服务器日期和时间,也可以是基于从另一个表或web服务检索的值来计算字段。 另一个注意事项:脚本也可以执行验证,也称为服务器端验证,以确保数据是有效的。...我们的HTML代码显示在这里,所以数据来自模型,但是HTML在视图中。 Controller:第三部分,如果我们点击视图后链接,控制器将被调用。它从模型获取数据,并使用该数据呈现视图。...这里的blogpost是控制器名称,视图是控制器中的一个操作(方法)。id是博客文章的id。...如果我们在浏览器中输入这个,请求就会转到“BlogPost”控制器的动作“视图”,在这里它调用这个模型来获取BlogPost ID“1”作为模型对象的内容。这个对象被传递给“视图”来呈现它。

    5.8K30

    Struts 1基础入门

    (2) 创建模型(Model) 本示例需要两个JavaBean,一个是实体类Admin.java,另一个是操作数据库的业务逻辑类AdminDao。示例1.2给出了实体类的参考代码。 ​...(1) 客户端浏览器打开login.jsp页面,输入登录名称和登录密码后提交表单,这时客户端向服务器端发送了一个HTTP请求,该请求包含表单数据并以“.do”结尾。...图1.1.11 设计视图 通过上图可以看到,MyEclipse能够以图形化的方式来展现Struts配置文件,同时也支持以图形化的方式进行开发。...下面我们以图形化的方式创建一个ActionForm,在设计视图的空白处单击右键弹出快捷菜单,如图1.1.12所示。...(1)模型(Model) Struts 1的模型由JavaBean组成,一般可以分为两类:实体类和业务逻辑类。实体类用来存储和传递数据,业务逻辑类封装底层的业务逻辑,例如数据库操作。

    11610
    领券