我是odoo和python的新手。我正在研究一个模块,我需要通过调用“.xml”文件中的方法来隐藏按钮,函数定义和body在“.py”文件中。目前我正试图隐藏这样的按钮
<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>
和“start_button”列位于“.py”文件中,代码类似于
def _start_test_button(self, cr, uid, ids, field_name, arg, context):
return False
_columns = {
'start_button': fields.function(_start_test_button, type="boolean", obj="generic.request", method=True),
}
并且该python代码在名为“OeHealthLabTests”的类中。创建实验室时,它显示错误
Uncaught Error: Unknown field start_button in domain [["start_button","=",false],["state","not in",["Invoiced"]]]
很困惑,我找不到让它成为现实的方法。请指导我如何做到这一点。
谢谢
答案 0 :(得分:1)
由于您尚未在xml中定义字段函数,因此出现错误。 只需在xml中定义字段函数。
<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>
<field name="start_button" invisible="1"/>
我希望我的回答可以帮助你:)。