2013-04-21 2 views
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").

ответ

2

Попробуйте его с помощью XPath

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

Может он будет работать.

0

Проверьте вид источника модели перед заменой

использовать XPath для замены

в выраже использовать точный путь, где поле определяется в XML.

Смежные вопросы