act_window 中的 openerp 上下文

2024-04-17

在 OpenERP 6.1 中,这个 act_window:

<act_window
     domain="[('id', '=', student)]"
     id="act_schedule_student"
     name="Student"
     res_model="school.student"
     src_model="school.schedule"/>

创建一个Student按钮在Schedule打开学生树视图,仅显示适当的学生。

我的目标是直接打开学生相应的表单视图,而不是带有正确筛选学生的树视图。我尝试添加一个view_mode="form,tree"但它打开了一个新的表单而不是我想要的表单。我猜想这可以通过添加来实现context to the act_window?也许是一个record_id,但我尝试过active_id但它不起作用。


让 OpenERP 操作直接打开给定记录的表单视图的神奇(可能没有记录)方法是设置一个额外的res_id动作上的属性。

Unfortunately in OpenERP 6.1[1] the res_id attribute is not part of the act_window data model, so it is not possible to directly set it in an XML declaration.

大多数官方插件使用<button type="object" ... />绑定到一个设置的Python方法res_id返回的操作中的属性。在官方模块的源代码中很容易找到这方面的示例,您可以看到一个在这个相关问题中 https://stackoverflow.com/questions/10671025/osv-methods-return-statement.

快速/未经测试的示例:

您可以将其添加到您的school.schedule form:

<button name="open_student_form" type="object" string="Student"/>

以及下面的方法school.schedule model:

def open_student_form(self, cr, uid, ids, context=None):
    this = self.browse(cr, uid, ids, context=context)[0]
    return {
        'type': 'ir.actions.act_window',
        'name': 'Student',
        'view_mode': 'form',
        'view_type': 'form',
        'res_model': 'school.student',
        'nodestroy': 'true',
        'res_id': this.student.id, # assuming the many2one is (mis)named 'student'
        'views': [(False, 'form')],
    }

现在,如果您真的想使用“侧边栏按钮”(即使用<act_window/>),这会变得有点棘手,因为你不能直接将侧边栏按钮绑定到 Python 方法;它必须绑定到存储在数据库中的操作。 但这仍然是可行的,例如通过ir.actions.server可以绑定到您的操作<act_window/>并调用您的 Python 方法或执行类似的操作。技巧与ir.actions.server是它可以被定义为一个Python块,可以通过将动作字典分配给一个函数来返回一个动态动作定义。action多变的。 如果您想遵循该路径,请搜索 OpenERP 插件源代码以获取以下声明ir.actions.server(其中一些可能会做类似的事情)和方法返回带有res_id属性。

[1] As of OpenERP 7.0 the res_id column is explicitly available in the data model, so you can directly set it.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

act_window 中的 openerp 上下文 的相关文章

  • 如何把父母和孩子联系起来?

    有两个简单的类 一个只有parent属性 并且两者兼而有之parent and children属性 这意味着同时具备两者的人parent and children继承自唯一的parent 这是只有parent属性 我们就这样称呼它吧Chi
  • 导入错误:无法导入名称“FFProbe”

    我无法获取ffprobe包 https github com simonh10 ffprobe在 Python 3 6 中工作 我使用 pip 安装它 但是当我输入import ffprobe it says Traceback most
  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Python 不考虑 distutils.cfg

    我已经尝试了给出的所有内容 并且所有教程都指向相同的方向 即使用 mingw 作为 python 而不是 Visual C 中的编译器 我确实有 Visual C 和 mingw 当我想使用 pip 安装时 问题开始出现 它总是给Unabl
  • 使用 Boto3 超时的 AWS Lambda 函数

    我已经解决了我自己的问题 但无论如何我都会发布它 希望能节省其他人几个小时 我在 AWS 上有一个无服务器项目 使用 Python 将记录插入到 kinesis 队列中 但是 当我使用 boto3 client kinesis 或 put
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • 使用 Pandas 从 csv 文件读取标题信息

    我有一个包含 14 行标题的数据文件 在标头中 有经纬度坐标和时间的元数据 我目前正在使用 pandas read csv filename delimiter header 14 读取文件 但这只是获取数据 我似乎无法获取元数据 有人知道
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • 列表推导式和 for 循环中的 Lambda 表达式[重复]

    这个问题在这里已经有答案了 我想要一个 lambda 列表 作为一些繁重计算的缓存 并注意到这一点 gt gt gt j for j in lambda i for i in range 10 9 9 9 9 9 9 9 9 9 9 Alt
  • 我可以用关闭的文件对象做什么?

    当您打开文件时 它存储在一个打开的文件对象中 该对象使您可以访问该文件的各种方法 例如读取或写入 gt gt gt f open file0 gt gt gt f
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • 在 django 中导入设置时出现奇怪的错误

    我有很多项目在 ubuntu 中使用 python2 7 和 virtualenv virtualenvwrapper 工作 在我的工作中 一些开发人员使用 macosx 和 windows 通常我像往常一样创建项目 django admi
  • Python脚本从字母和两个字母组合生成单词

    我正在编写一个简短的脚本 它允许我使用我设置的参数生成所有可能的字母组合 例如 b a 参数 单词 5 个字母 第三 第五个字母 b a 第一个字母 ph sd nn mm 或 gh 第二 第四个字母 任意元音 aeiouy 和 rc 换句
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 检查 IP 地址是否在给定范围内

    我想检查一下是否有IP180 179 77 11位于特定范围之间 例如180 179 0 0 180 179 255 255 我编写了一个函数 它将每个 IP 八位字节与其他八位字节进行比较 def match mask IP min ip
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan
  • 超过两个点的Python相对导入

    是否可以使用路径中包含两个以上点的模块引用 就像这个例子一样 Project structure sound init py codecs init py echo init py nix init py way1 py way2 py w
  • Tkinter 将鼠标点击绑定到框架

    我一定错过了一些明显的东西 我的 Tkinter 程序中有两个框架 每个框架在网格布局中都有一堆标签 我想将鼠标点击绑定到其中一个而不是另一个 我目前使用 root bind

随机推荐

  • 这是 C 中未定义的行为吗? [复制]

    这个问题在这里已经有答案了 我正在 gcc 上运行我的 C 代码来理解前 后增量运算符 然而我看到的结果并不是我所期望的 就像第 6 行一样 因为 i 是 5 所以应该是 8 7 6 5 5 但它是8 7 6 5 8 然后到最后一行 显示1
  • 如何在 PHP 中的会话中存储对象?

    您好 我想使用类似的类在会话中存储或保存对象SessionHandler或数组 SESSION 我已经看到如果我序列化该对象是可能的 并且我不想丢失该对象实例的方法 我已经看到序列化是可能的 但我想要存储的对象是由 PDOStatement
  • Windows 版 GitHub:登录失败

    我当时用的是git scm http git scm com用客户端很久了 看到了一个 GitHub for Windows 客户端 为什么不试试呢 我用CCleaner删除了git scm 然后安装了这个客户端 在登录阶段 它显示 登录失
  • Proguard AWS s3 问题

    尝试为 amazon s3 实现 proguard 时遇到一个真正的问题 它在第 29 行加载应用程序时不断崩溃 即 s3Client new AmazonS3Client new BasicAWSCredentials Constants
  • 对行进行排序后,Ag-grid 拖放不起作用

    在 Ag grid react 上对行进行排序后 拖放停止工作 在排序之前 拖放已全部设置完毕并且运行良好 postSort API 似乎没有什么可以实现我需要的东西 重置行 甚至设置可拖动 就像选择一样 postSort nodes gt
  • 从谷歌地图中删除标记簇[不仅仅是标记]

    在我的phonegapp cordova应用程序中 我使用谷歌地图工具 有时我需要更改其上显示的点 我发现了一些有用的代码here https developers google com maps documentation javascr
  • 集成 Gitlab 和 TravisCi

    有没有办法将 Travis Ci 与 Gitlab 集成 或者至少使用用户名和密码而不是 Github 凭据登录 TravisCi 不 截至目前 Travis CI 与 GitHub 严格绑定 虽然确实有关于减少这一要求的讨论 但它仍然存在
  • 为什么 std::pow(double, int) 从 C++11 中删除?

    在调查的同时计算 p q 求幂 的有效方法 其中 q 是整数 https stackoverflow com questions 5625431回顾 C 98 和 C 11 标准 我注意到显然std pow double int C 11
  • Google 脚本:将列中的新值附加到另一个工作表

    我一直在研究这个项目 但无法让它按照我想要的方式工作 我有两张表 其中一列具有唯一 ID 我需要确保每当在一张工作表 Sheet1 中添加新 ID 时 它都会被复制到另一张工作表 Sheet2 中的最后一个空行 如果该值已经存在 请确保它忽
  • 解析日期后从 Oracle Select 语句返回数字

    我想编写一个 Oracle SQL select 语句 告诉它是否可以通过返回代码来解析给定格式的日期字符串 失败时返回零 异常 成功时返回正数 SELECT CASE WHEN PARSING SUCCESSFUL ie to date
  • 使用字典替换字符串

    我正在学习 python 并处理字符串 以找到使用字典进行字符串替换的更好方法 我有一个包含自定义占位符的字符串 如下所示 placeholder prefix placeholder suffix dict key1 string key
  • Azure Function-使用 python 代码解压缩受密码保护的文件

    我正在尝试解压缩存储在 Azure Blob 容器上的受密码保护的文件 我想将其提取到 Azure Blob 本身上 我已经使用Python创建了一个Azure函数应用程序 目前它是基于定时器控制事件的 来测试东西 以下是我的代码 我不确定
  • 启用了 Delphi VCL 样式的平面工具栏按钮?

    如果没有启用 VCL 样式 我的 TActionToolbar 看起来就像平面工具栏 然而 如果我启用几乎任何 VCL 样式 突然间所有工具栏按钮看起来都像 3d 按钮 VCL Style Viewer 应用程序显示具有平面和类似按钮外观的
  • 是否可以在 Multimarkdown 中执行“制表符”?

    有没有办法在Multimarkdown语法中实现制表符 我的目标是这样的 项目 选项卡 gt 值 其他项目 选项卡 gt 值 还有一项 gt 价值 我可以意识到通过table https stackoverflow com a 405896
  • AngularJs 指令加载事件

    我刚刚开始使用 AngularJs 指令 使用资源here https docs angularjs org guide directive here http www sitepoint com practical guide angul
  • 如何从 perl 中的字符串变量复制模式

    我需要复制之间的句子内容 and 使用perl 例如说 temp 06 18 2012 08 35 35 PID 2150 现在我需要复制该值2150 之间 and 到一个变量 temp2 使用正则表达式可以轻松实现这一点 my temp2
  • 滚动按钮 - 使用 jQuery

    因此 我正在制作一个列表 您可以通过单击按钮滚动浏览该列表 它还需要有一个可见且工作的滚动条 但我不知道如何编辑我的代码以使它们都能正常工作 我可以让按钮或滚动条工作 但不能同时工作 有人可以帮忙吗 var itemsToShow 3 sc
  • MediaPlayer 无法播放没有扩展名的文件名

    当我尝试玩本地文件组件没有文件扩展名System Windows Controls MediaElement失败并显示 FileNotFoundException 消息 媒体文件下载失败 null 内部异常是System Runtime I
  • 验证 angularjs 中的密码指令

    谁能解释一下这段代码是如何工作的 HTML 标记
  • act_window 中的 openerp 上下文

    在 OpenERP 6 1 中 这个 act window