查看“向导业务逻辑”的源代码
←
向导业务逻辑
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
接下来,我们需要实现对窗体按钮执行操作。排除Cancel按钮,我们有三个操作按钮来实现,但现在我们将集中使用Mass Update按钮。 通过按钮调用的方法是do_mass_update和它应该被定义在models/todo_wizard_model.py文件,如下面的代码所示︰ <nowiki> from odoo import exceptions import logging _logger = logging.getLogger(__name__) # ... # class TodoWizard(models.TransientModel): # ... @api.multi def do_mass_update(self): self.ensure_one() if not (self.new_deadline or self.new_user_id): raise exceptions.ValidationError('No data to update!') _logger.debug('Mass update on Todo Tasks %s', self.task_ids.ids) vals = {} if self.new_deadline: vals['date_deadline'] = self.new_deadline if self.new_user_id: vals['user_id'] = self.new_user_id # Mass write values on all selected tasks if vals: self.task_ids.write(vals) return True </nowiki> 我们的代码应该处理一次向导实例,所以我们明确指出这一点self.ensure_one()。在这里 self表示向导窗体上数据的浏览记录。 该方法首先验证一个新的截止日期日期或负责任的用户如果没有就会出现错误。接下来,我们怎样写一个调试信息传到服务器日志的例子。 然后使用批量更新一起来设置构建“vals”字典: 新的日期,新的责任人,或者两者都有。然后在记录集上执行批量更新的平台上使用“write”方法。这比在每个记录上执行单独的操作循环更有效。 对于总是返回某些东西的方法来说,这是一种很好的做法。这就是为什么它最后返回True的值。唯一的原因是XML-RPC协议不支持任何值,因此这些方法无法使用这一协议。 在实践中,您可能没有意识到这个问题,因为web客户端使用的是JSON-RPC,而不是XML-RPC,但是这仍然是一个很好的实践。 接下来,我们将对日志进行更深入的研究,然后对顶部的两个按钮进行后面的逻辑分析︰Count和Get All 上一节:[[向导窗体]] 下一节:[[记录]]
返回至
向导业务逻辑
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施