2017-03-02 11 views
0

私は1つのビューで3つの異なるモデルを使用しようとしています。私は正常に動作するように見えるモデルを継承する新しいモデルを作成しました。1つのビューに複数のモデルを追加するにはどうすればよいですか?

from openerp import models, fields, api 

class ProjectNote(models.Model): 
    _name = "triangle.project.note" 
    _inherit = ["note.note", "project.project", "triangle.note"] 

私の問題はビューにあります。新しいモデルをモデルとして使用し、プロジェクトのビューを継承します。

<record id="view_project_notes_form" model="ir.ui.view"> 
     <field name="name">triangle.project.note.form</field> 
     <field name="model">triangle.project.note</field> 
     <field name="inherit_id" ref="project.edit_project"/> 
     <field name="arch" type="xml"> 
     <data> 
      <xpath expr="//field[@name='privacy_visibility']" position="replace"> 
      <h2> 
       <field name="title" placeholder="Title"/> 
      </h2> 
      </xpath> 
     </data> 
     </field> 
    </record> 

エラーは発生しませんが、フィールドは追加されていません。

ご協力いただきましてありがとうございます。

答えて

0

project.projectビューを開いて、そのフィールドにtitleというフィールドがない理由が不思議である場合はありません。モデルproject.projectのプロジェクトビューを拡張するのではなく、プロジェクトビューを継承するモデルtriangle.project.noteのフォームビューを定義しています。

プロジェクトのビューはそのままですので、新しいモデルの最初のフォームビューを作成しました。

+0

わかりました。それは私には意味があります。このメソッドがうまくいかない場合は、project.edit_projectビューのnote.noteフィールドをどのように参照できるかについてのアドバイスはありますか?私が考えることができる唯一の解決策は、project.projectにもこれらのフィールドを作成することです。 – lslaz

+0

はい、解決策になります。 'project.project'を' many2one'の関係で 'note.note'に拡張し、通常' project.project'モデルのためだけにそのビューを継承してください。 – CZoellner

+0

優秀、それは完璧に動作します! – lslaz

関連する問題