首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在OpenERP6.1中单击保存按钮时会调用哪个函数

在OpenERP6.1中单击保存按钮时会调用哪个函数
EN

Stack Overflow用户
提问于 2013-01-07 21:37:14
回答 3查看 2.6K关注 0票数 3

在OpenERP6.1中单击保存按钮(在附带的屏幕截图中标记为红色)时,会调用哪个函数?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-08 01:33:20

为了详细说明DReispt的答案,您的屏幕截图似乎突出显示了现有记录表单的One2Many字段中的可编辑One2Many行的保存按钮。RPC行被视为其父记录的子记录,因此它们应该与其余记录数据一起自动保存(在单个One2Many调用中)。

从这个意义上说,屏幕截图上突出显示的保存按钮不会直接调用服务器上的任何方法,它只是将更改保存在浏览器的本地缓存中。真正的调用create (如果这是一个新记录)或write (如果记录正在更新)只有在您之后单击父记录窗体的主保存按钮时才会完成。

此时,该行的值将在One2Many命令列表中提供给create/write的值映射中传递。有关设置One2Many字段的值的更多信息,另请参阅write文档。

顺便说一句,在OpenERP中调查RPC调用非常简单:

  • 在服务器端,您可以使用--log-level=debug_rpc_answer参数启动openerp-server进程,以获得所有

调用的详细日志记录。在web客户端,您可以简单地使用web浏览器的调试器来监视所有的

  • 调用(在网络监控选项卡中)。大多数JSON-RPC调用对应于常规的OpenERP ORM method calls,一旦您熟悉了OpenERP RPC API,就很容易阅读。

注意:以上内容并非特定于OpenERP 6.1,它在7.0中的工作方式相同(尽管6.0及更早版本的web客户端对one2many字段有不同的行为)

票数 7
EN

Stack Overflow用户

发布于 2013-01-07 23:50:52

保存按钮将为该模型运行一个ORM method。对于新记录,这是create()方法,对于更新的记录,它是update()方法。

这些标准方法可以在模型中被覆盖,以便实现其他功能。

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 13:33:35

您的模型是orm.Model'. There are methods in类BaseModel(BaseModel is inherited by Model) which will be call for the保存记录的子类。这些方法是

代码语言:javascript
运行
复制
def create(self, cr, user, vals, context=None)

如果您想要更改任何模型的任何行为,那么您必须覆盖此方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14197116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档