如何odoo Web客户端调用服务器动作,从一个按钮点击
问题描述:
我想创建一个学生标记片,我需要有关如何odoo Web客户端调用服务器动作,从一个按钮点击
- 学生姓名
- 课程,其学生属于
- 该课程下单元
- 各单元下大纲
- 大纲具有下他们
层级说明: - 学生注册一门课程,1门课程有几个单元,1个单元有一定的教学大纲(分为章节),每章都有一个评估标准。 标记表基于课程或单元,并给出每个标准的分数。
因此,为此,我在考虑是否可以通过在服务器操作中执行sql并通过标记表单中的按钮调用该操作来加载此层次结构的单元,教学大纲和条件。
在尝试时,我只是在服务器操作中写了一条日志语句,并尝试使用<button type="action" name="%(action_name)d" string="log"/>
来调用它,但它没有做任何事情。
也请建议替代品做到这一点,以防万一这是不是一个好方法或不可能在odoo网络客户端这样做。
在此先感谢您的帮助。
服务器操作This is the server Action
我使用它作为在我看来<button type="action" name="%(getUnitsForCourse)d" string="log"/>
,但它既不做任何事,也没有给出任何错误。当我从头文件中的Action
按钮调用它时,它正在正确运行并记录结果。
答
您需要在按钮中使用type =“object”而不是type =“action”,而需要使用type =“object”来创建py函数。
例如。
XML
<button type="object" name="test_server_action" string="call Server Action"/>
PY
@api.multi
def test_server_action(self):
self.env.ref('external_id of server action').run()
能否请您分享您的服务器动作? –
@VikiChavada先生,我现在编辑了我的问题,你可以检查服务器操作 –