我有这个类:project.task
有这个字段:
state = fields.state = fields.Selection([ ('draft', 'Draft'),
('sent', 'In progress')], default='draft')
task_line_ids = fields.One2many('project.task.line','task_id',string="Articles")
在project.task.line
课程中我有这一行:
progress = fields.Float()
现在我的xml代码中有:
<record name="task_form_view" model="ir.ui.view">
<field name="name">Task Form View</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<form>
<header>
<field name="state" widget="statusbar"/>
</header>
....
<notebook>
<page name="Lines">
<field name="task_line_ids">
<tree string="Tasklines" editable="bottom">
<field name="product_id" />
<field name="description"/>
<field name="um_id"/>
<field name="progress" />
</tree>
</field>
</page>
</notebook>
</form>
</field></record>
现在我想要的是当状态为草稿时,树视图中名为progress的字段应该是不可见的。我改变了这样的进度字段:
<field name="progress" attrs="{'invisible': [('state','=','draft')]}" />
但它不起作用。我收到了这个错误:Error: Unknown field state in domain [["state","=","draft"]]
我在尝试此代码时遇到了同样的错误:
<field name="progress" attrs="{'invisible': [('task_id.state','=','draft')]}" />
答案 0 :(得分:0)
我认为在课堂上“project.task.line”你需要字段state = fields.Selection([('draft','Draft'),('sent','in in')],related =“task_id 。州”)。因为你在类“project.task.line”中使用的字段是当前的状态,所以它的类是“project.task”。
答案 1 :(得分:0)
使用此:
<field name="progress" attrs="{'column_invisible':[('parent.state','in',
['draft'])]}"/>
在xml中:
<notebook>
<page name="Lines">
<field name="task_line_ids">
<tree string="Tasklines" editable="bottom">
<field name="product_id" />
<field name="description"/>
<field name="um_id"/>
<field name="progress" attrs="{'column_invisible':
[('parent.state','in',['draft'])]}"/>
</tree>
</field>
</page>
</notebook>