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>

そして、それは私にこのエラーを与えます: Uncaught Error: NameError: name 'project_id' is not defined.

position="before" または "after" を使用すると、"my_project_id" フィールドが正しく追加されることに注意してください ("project_id" フィールドの前/後)。

4

2 に答える 2

0

置き換える前にソース モデル ビューを確認してください

xpath を使用して置き換えます

expr では、フィールドが xml で定義されている正確なパスを使用します。

于 2013-04-22T11:51:16.123 に答える