Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Odoo 11自定义向导功能_Python 3.x_Odoo_Odoo 11 - Fatal编程技术网

Python 3.x Odoo 11自定义向导功能

Python 3.x Odoo 11自定义向导功能,python-3.x,odoo,odoo-11,Python 3.x,Odoo,Odoo 11,我想自定义一个向导按钮,以允许选中的项目,并在单击按钮后将“完成”(布尔值)更改为True。这是我创建的示例视图和向导按钮 下面是我在视图文件中的代码: <record model="ir.actions.server" id="make_it_done"> <field name="name">Make it done</field> <field name="condition">True</field> &

我想自定义一个向导按钮,以允许选中的项目,并在单击按钮后将“完成”(布尔值)更改为True。这是我创建的示例视图和向导按钮

下面是我在视图文件中的代码:

<record model="ir.actions.server" id="make_it_done">
    <field name="name">Make it done</field>
    <field name="condition">True</field>
    <field name="model_id" ref="model_todo_task"/>
    <field name="type">ir.actions.server</field>
    <field name="binding_model_id" ref="model_todo_task" />
    <field name="code">
        action = self.make_it_done()
    </field>
</record>
我希望创建一个向导函数,允许将所有选定项目更新为“完成”(就像内置的“存档”函数一样)。但是,根据我的代码,当我选择项目并单击向导函数时,它什么也不做

这是我收到的唯一响应(上图所示的加载)。然后,所有复选框都将被取消选中

我不知道我错过了什么,但它只是不运行代码。
请帮我解决这个问题,提前谢谢大家

您只需将服务器操作的代码更改为:

记录。完成()
记录
将是所有标记列表项的记录集。然后当然要改变方法:

def完成(自我):
self.done=True

也许您可以尝试添加一个名为“state”的字段

code

在服务器操作中,它对我有效

嗨,谢谢你的回答,但它仍然返回相同的结果。在我选中复选框之后,我点击了向导功能,但它只是简单地显示加载,之后我直接选中的复选框变成未选中。嗨,我没有发现错误,你能看看我的问题吗?我已经把我在这个问题上收到的唯一答复写了出来。
from odoo import api,fields, models
from odoo.addons.base.res.res_request import referenceable_models
from odoo.exceptions import ValidationError

class TodoTask(models.Model):

def make_it_done(self):
    print('Success!!')
<field name="state">code</field>