我需要在项目模块中使用任务功能(我继承了“project.project”)。 我继承了这样的“project.task”:
class task(osv.osv):
_name = "project.task"
_description = "Task"
_date_name = "date_start"
_inherit = 'project.task'
_columns={
'my_project_id': fields.many2one('project.my.project', 'Project'),
}
task()
现在我需要用'my_project_id'替换任务创建表单中的project_id字段。我这样做了:
<record id="view_task_form2_inherited" model="ir.ui.view">
<field name="name">project.task.form</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<field name="project_id" position="replace">
<field name="my_project_id"/>
</field>
</field>
</record>
它给我这个错误:未捕获错误:NameError:名称'project_id'未定义。
请注意,如果我使用position =“before”或“after”,则会正确添加“my_project_id”字段(在“project_id”字段之前/之后)。
答案 0 :(得分:2)
尝试使用xpath
<xpath expr="//field[@name='project_id']" position="replace">
它可以运作。
答案 1 :(得分:0)
在更换
之前检查源模型视图使用xpath替换
expr中的
使用精确路径,其中字段在xml中定义。