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

如何通过Odoo 13中的按钮在保存或查看模式下打开包含现有记录的表单视图?

在Odoo 13中,可以通过按钮在保存或查看模式下打开包含现有记录的表单视图。具体步骤如下:

  1. 首先,在Odoo的模块中创建一个按钮。可以在模块的XML文件中使用<button>标签来定义按钮。
代码语言:txt
复制
<button name="open_existing_record" string="Open Existing Record" type="object" class="oe_highlight"/>
  1. 在模块的Python文件中定义按钮的方法。方法名为open_existing_record,并且接受一个参数self
代码语言:txt
复制
def open_existing_record(self):
    # 获取当前记录的ID
    record_id = self.env.context.get('active_id')
    
    # 获取当前记录的模型
    model = self.env.context.get('active_model')
    
    # 使用`form`视图打开当前记录的表单视图
    return {
        'name': 'Existing Record',
        'type': 'ir.actions.act_window',
        'res_model': model,
        'res_id': record_id,
        'view_mode': 'form',
        'view_type': 'form',
        'target': 'current',
    }
  1. 在模块的XML文件中,将按钮与方法关联起来。使用<record>标签来定义按钮的视图。
代码语言:txt
复制
<record id="view_form_button" model="ir.ui.view">
    <field name="name">Existing Record Button</field>
    <field name="model">your.model</field>
    <field name="arch" type="xml">
        <form>
            <header>
                <button name="open_existing_record" string="Open Existing Record" type="object" class="oe_highlight"/>
            </header>
        </form>
    </field>
</record>
  1. 最后,在模块的XML文件中,将按钮的视图与模型的视图关联起来。使用<record>标签来定义模型的视图。
代码语言:txt
复制
<record id="view_form_your_model" model="ir.ui.view">
    <field name="name">Your Model Form</field>
    <field name="model">your.model</field>
    <field name="arch" type="xml">
        <form>
            <!-- 其他字段 -->
            
            <footer>
                <button string="Save" type="object" class="oe_highlight"/>
                <button string="Cancel" type="object" class="oe_link"/>
                <button name="open_existing_record" string="Open Existing Record" type="object" class="oe_highlight"/>
            </footer>
        </form>
    </field>
</record>

通过以上步骤,你可以在Odoo 13中创建一个按钮,并在保存或查看模式下打开包含现有记录的表单视图。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo Actions学习总结

默认为list,form(列表和表单) Window Actions (ir.actions.act_window) 最常见动作类型,用于通过视图呈现模型可视化:Window Action为模型定义了一组视图类型...如果未提供id,则客户端应获取所请求模型指定类型默认视图(这由 fields_view_get()自动完成)。列表第一种类型是默认视图类型,执行操作时默认打开。...默认获取模型默认搜索视图。 target (可选) 视图是否应在主内容区域(current)、以全屏模式(fullscreen)对话框/弹出窗口(new)中打开。...context (可选) 传递给视图附加上下文 domain (可选) 隐式添加到所有视图搜索查询过滤domain limit (可选) 默认情况要在列表中显示记录数。...res.partner", "views": [[False, "tree"], [False, "form"]], "domain": [["customer", "=", true]], } 或者新对话框中打开特定产品表单视图

2.6K30

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

表单视图也是如此:尽管使用了一些标记,如,但在设计方面几乎没有什么可做。 然而,如果我们想给我们应用程序一个独特外观,就必须更进一步,能够设计新视图。...此外,PDF报告网站页面等其他功能需要另一个更灵活工具:模板引擎。 您可能已经熟悉现有的引擎,如Jinja(Python)、ERB(Ruby) Twig(PHP)。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 我们地产应用程序中,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...本例中,它用于将模板name设置为kanban-box :oe_kanban_global_click让可点击,以打开记录

2K20

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

介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...self可以是一个包含多条记录结果集。...,提示如下: 模块继承(Model Inheritance) 引用: 查看主题相关文档继承和扩展 我们希望“Settings/Users & Companies/Users”表单视图中直接显示与销售人员关联房产列表...odoo中,第一种机制最常用。我们例子中,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...目标: 在用户表单视图中显示与销售人员关联avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图通过重写它们)。

2.2K20

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

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中"...选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久;它们一定时间后自动从数据库中删除。...wizard可以通过关系字段(many2onemany2many)引用常规记录wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚表达本文主题...ID web.ListRenderer来覆盖框架自带web.ListRenderer定义,这种实现方案只能在非Debug模式正常工作,且会导致无法开启Debug模式odoo.define实现中会对服务是否重复定义做判断

5.2K60

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

它们是ir.ui.view model实例。 我们estate模块中,我们需要以逻辑方式组织字段: 列表(树)视图中,我们希望显示不仅仅是名称。 表单视图中,应该对字段进行分组。...练习 -- 添加自定义表单视图 合适XML文件中为estate.property 定义视图 为了避免每次修改视图时都重新启动服务器,可以启动服务器时添加--dev-xml,以便只刷新页面就可以查看视图修改...搜索视图与列表及表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于过滤其他视图内容(通常是聚合视图,比如列表). 除了使用方面的不同,他们定义方式是一样。...自定义搜索视图中添加用户可能过滤字段是非常常见。 搜索视图还可以包含元素,这些元素充当预定义搜索开关。...odoo中,domain对记录条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。

3.2K40

odoo 权限管理学习总结

res_partner表中,那么odoo如何区分用户类型以及如何做权限控制呢?...可以利用该特性实现隐藏对象需求,比如针对一些常规下不需要显示特殊字段,为其设置属性groups = "base.group_no_one",可以实现在非Debug模式隐藏字段视图显示。...授权给用户模型访问权限,可通过点击Settings -> Users & Groups -> Users用户详情页Access Rights按钮查看。...默认允许记录规则:如果授予模型访问权限(Access Rights),并且没有规则适用于用户操作和模型,则授予访问权限 记录规则保存在ir.rule模型表里,我们通过管理ir_rule表中记录,即可控制记录访问权限...注意: 取消勾选已授予角色,并保存,不会自动取消勾选角色关联权限组,即取消授予角色操作,不会取消通过授予角色授予给用户权限组 已授予角色给用户情况,取消勾选某个权限组并保存,如果该权限组和授予给用户角色关联

10K20

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

添加字段到表单视图,正如本章目标中展示那样 对于关系型字段,可以使用通过字段路径作为依赖项: description = fields.Char(compute="_compute_description...该字段被定义为最高报价 添加该字段到表单视图,正如本章目标中第一个动画 提示:你可能会想用 mapped() 方法,查看示例 writeoff_amount = sum...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时奔溃 表单和列表视图中添加字段,正如本章目标中显示第二个动画中一样。...同时,需要注意是,不要循环遍历 self,因为该方法表单视图中触发,self总是代表单记录。...这是一个非常糟糕想法,因为以编程方式创建记录时不会自动触发onchanges;它们仅在表单视图中触发。

3.1K30

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

模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景中,我们都需要不止一个模型。此外,模型之间链接是必要。...人们可以很容易地想象一个模型包含客户,另一个模型则包含用户列表。你可能需要参考任何现有业务模型上客户或用户。...参考: 本主题相关文档可查阅 Many2one 我们房地产模块中,我们想定义房地产类型概念,例如,房屋公寓。...首先,我们不需要所有模型操作菜单。某些模型只能通过另一个模型访问。我们练习中就是这样:报价总是通过房产获得。 其次,尽管property_id字段是必需,但我们没有将其包含视图中。...odoo如何知道我们报价与哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义

4.4K40

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

这是因为,odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中记录来定义。...常见模式为 菜单> action > 视图。为了访问记录,用户几个菜单级中导航。最深层是触发打开记录列表action。 操作(Actions) 参考: 主题相关文档可以查看 Actions....动作可以通过三种方式触发 : 点击菜单项目(链接接到指定动作) 点击视图按钮(如果与action关联) 对象上下文action 本章仅涵盖第一种情况。...服务,查看效果 字段,属性和视图(Fields, Attributes And View) 到目前为止,我们只对房产广告使用了通用视图,但在大多数情况,我们希望对视图进行微调。...我们看到一些属性,如required=True,会影响数据库中模式。其他属性也将影响视图提供默认值。 练习 -- 添加一些属性到字段。

2.8K30

谷歌监测代码管理器(GTM)基础教程 第2部分 - 创建代码

我们使用“docx | pdf”下面的标准表达式,这意味着记录包含字符串“docx”字符串“pdf”任何链接。...如果你创建了Page View,则表示你文档将显示常规内容报告中,因此我始终选择此选项。“更多设置”,选择要为页面视图记录内容。 对于该页面,请选择点击网址URL - 这是文档完整网址。...我建议你GA中设置一个测试视图,不要使用任何过滤器,以便检查所有代码是否已启动,以及是否存储正确信息。 进入预览模式 ? “发布”按钮(GTM管理屏幕右侧),可以发布之前预览和调试。...当你进入预览模式后,另一个浏览器代码页上打开网站,就会在网页下方显示GTM预览面板。 当你进入预览模式之后,标签页里打开要进行测试网站,页面下方就会展示出GTM预览界面。...GTM预览 在网站每个网页上,你都应该始终看到一个代码已被触发 – 代码将每一个PageView发送给GA。 ? 导航到包含文档链接(PDFDOCX)页面 ,点击链接 - 文档新页面中打开

2.5K71

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

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如图,给表单新增一个类似聊天窗口,当记录一些表单活动(本例为自动记录当前记录状态变化) 需求实现 模型定义...odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪字段设置tracking属性,并设置属性值为真值 #!...\odoo\addons\mail\models\mail_thread.py,其字段命名均以message_开头 tracking 该属性为True数字时,打开针对该属性所属字段修改日志-...# -*- coding:utf-8 -*- { 'name': 'estate', 'depends': ['base', 'mail'], # 此处代码略... } 视图定义...odoo14\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应,模型定义中_inherit 属性也需要添加该模块,如下: _inherity

70120

odoo context上下文用法总结

_context is {'key1': True, 'key2': True} 需要注意是,上下文是和记录集绑定,修改后上下文并不会在其它记录集中共享 应用场景示例 用于action,为关联视图添加默认搜索...、过滤条件 视图定义 为设置action打开tree列表视图,添加默认搜索,搜索条件为 state字段值等于True 说明:'group_by': '分组字段名称' 用于视图对象按钮,传递数据给模型方法 模型设计 #!...为可编辑列表视图字段搜索添加查询过滤条件](odoo 为可编辑列表视图字段搜索添加查询过滤条件.md) 用于记录集,传递数据给模型方法 模型设计 #!...create或者write方法,调用该方法前修改上下文,然后方法中通过self.env.context获取上下文中目标key值,进而实现目标需求 res = super(EstatePropertyTag

2K20

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

在上一篇教程中我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后样子,除了从应用列表中找到模块进行升级外,我们还可以命令行中给 Odoo 启动命令加上参数 -u todo 指定升级.../mymodules --db-filter=^demo$ -d demo -u todo 升级后创建打开任意一条待办事项进入到表单页面,就可以看到已经多了「紧急程度」这个字段了,并且默认选择了「待办...这个需求跟时间有关,并且时间是流动(一直变化),所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo ORM 已经为我们实现了相关机制——计算字段...再来看看实际计算逻辑部分,只有一个循环以及一条赋值语句,刚刚已经提到过这里 self 表示一个记录集,我们需要对这个记录集里每一条记录进行计算,判断这个待办事项是否已经过期,这里 record...我们打开视图文件来加点东西上去: <!

1.3K10

Yii 框架使用Gii生成代码操作示例

'); 鉴于这行代码定义,应用处于开发模式,按照上面的配置会打开 Gii 模块。...如果你已经创建过同样文件,使用 Gii 会覆写它, 点击文件名旁边 diff 能查看现有文件与将要 生成文件内容区别。...想要覆写已存在文件,选中 “overwrite” 复选框然后点击 “Generator”。如果是新文件,只点击 “Generator” 就好。 接下来你会看到一个包含已生成文件说明页面。...r=country/index 可以看到一个栅格显示着从数据表中读取国家数据。支持列头对数据进行排序, 输入筛选条件进行筛选。 可以浏览详情,编辑,删除栅格中每个国家。...还可以点击栅格上方 “Create Country” 按钮通过表单创建新国家。 ? ? 下面列出由 Gii 生成文件,以便你研习功能和实现, 修改它们。

1K10

xwiki功能-文档生命周期

创建 有三种方法来创建新页面。 通过链接 你可以编辑已有的页面并创建一个链接到你新页面(无论是wiki模式WYSIWYG模式)。由此产生链接旁边会显示一个问号,其显示为不存在页面。...默认情况,新页面将作为当前页面的子页面来创建。如果你不希望出现这种情况,那么你通过使用文档选择器(通过选择现有的父节点)更改目标页面的位置。...XWiki还支持特定情况其他格式显示页面: 代码 XML 评论 附件 历史 代码 你可以查看页面的内容,而无需对其进行编辑(因此你不需要编辑权限)。此选项仅显示高级模式用户。...复制 如果你想创建现有页面的副本,那么你必须导航到该页面(查看模式访问该页面),然后从页面菜单中选择复制操作(位于页面标题右侧)。 ? 这将带你到复制页面向导,你可以指定副本名称和新位置。...移动/重命名 如果要重命名移动现有页面,你需要导航到该页面(查看模式访问该页面),然后从页面菜单中选择重命名操作(位于页面标题右侧)。 ?

1.2K20

从安装到使用——Odoo常见问题及故障处理

安装问题 1.浏览器打开IP地址,无法访问 Odoo(白屏没有结果)? 您服务器对应安全组80端口没有开启(入规则),导致浏览器无法访问到服务器任何内容。...3.为什么设置面板看不到 Odoo 更新(Updates)操作功能? 此功能只能在开发者模式使用,请确保你 Odoo 控制台是否已经切换成开发者管理模式 4.如何删除 Odoo 演示数据?...Odoo爱好者博客:https://alanhou.org/category/odoo/ 12.Odoo 社区版可以升级到企业版吗? 可以,但需要提前订阅企业版授权 故障处理 1.如何查看错误日志?...程序源码目录有操作权限,需要执行一命令: sudo chmod o+rw /usr/lib/python2.x/dist-packages/odoo # odoo10版本 sudo chmod...建议先通过命令进行排查 # 查看磁盘空间 df -lh ​ # 查看内存使用 free -lh 这个Odoo系统(11-14)值得一试: Odoo14:https://market.cloud.tencent.com

5.9K30
领券