0

我需要在我的项目模块中使用任务功能(我继承了“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()

现在我需要将任务创建表单中的 project_id 字段替换为“my_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" 字段之前/之后)。

4

2 回答 2

2

尝试使用 xpath

<xpath expr="//field[@name='project_id']" position="replace">

愿它会奏效。

于 2013-04-22T13:25:38.247 回答
0

替换前检查源模型视图

使用 xpath 替换

在 expr 中使用在 xml 中定义字段的确切路径。

于 2013-04-22T11:51:16.123 回答