2017-03-02 2 views
0

J'essaie d'utiliser trois modèles différents dans une vue. J'ai créé un nouveau modèle qui hérite des modèles qui semble fonctionner correctement.Comment ajouter plusieurs modèles à une vue?

from openerp import models, fields, api 

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

Mon problème est dans la vue. J'utilise mon nouveau modèle comme modèle et hérite d'une vue du projet.

<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> 

Je ne reçois aucune erreur mais mon champ n'est pas ajouté.

Toute aide est appréciée!

Répondre

0

Si vous essayez d'ouvrir une vue project.project et que vous vous demandez pourquoi il n'y a pas de champ title: il n'y en a pas. Vous ne développez pas la vue de projet pour le modèle project.project mais définissez une vue de formulaire pour votre modèle triangle.project.note qui hérite de la vue de projet.

Pour que les vues de projet ne soient pas modifiées, vous venez de créer la première vue de formulaire pour votre nouveau modèle.

+0

Ok, ça a du sens pour moi. Avez-vous des conseils sur la façon dont je peux référencer les champs note.note dans la vue project.edit_project si cette méthode ne fonctionne pas? La seule solution à laquelle je peux penser est de créer ces champs dans project.project aussi. – lslaz

+0

Oui, ce sera la solution. Étendre 'project.project' avec une relation' many2one' à 'note.note' et hériter de la vue normalement pour le modèle' project.project'. – CZoellner

+0

Excellent, ça marche parfaitement! – lslaz