2017-10-18 3 views
0

Je ne trouve aucun exemple de la façon de déclencher une fonction d'un modèle lié dans une vue. Voici mon code:Odoo 10: bouton pour déclencher la fonction dans le modèle associé

class Trip(models.Model): 
    _name = 'trip' 
    _description = 'Trip' 
    destinations = fields.One2many('destination', 'trip_id', string='destinations') 

class Destination(models.Model): 
    _name = 'destination' 
    _description = 'Trip' 
    trip_id = fields.Many2one('trip', 'Trip') 

    def generate_doc: 
     # code to generate report 

Fondamentalement, il existe 2 modèles (voyage et de destination) avec une relation One2Many. Voici mon code de la vue:

<record model="ir.ui.view" id="trip_form"> 
    <field name="name">trip.form</field> 
    <field name="model">trip</field> 
    <field name="arch" type="xml"> 
    <field name="destinations" readonly="True"> 
     <tree> 
      <button name="generate_doc" type="object" string="DOC"/> 
     </tree> 
    </field> 

Ce que je suis en train de faire ici est une méthode d'exécution à l'intérieur du modèle connexe (destination) à partir d'une vue du modèle principal (voyage). Le problème est que mon code exécute la méthode dans le modèle principal (trip) et non dans le modèle associé (destination). Je comprends qu'il est possible de passer du contexte à un bouton ... mais comment le faire? Je ne trouve aucun exemple de travail! Merci à tous ceux qui peuvent aider

Répondre

0

Mon mauvais! Le code fonctionne correctement, et le bouton appelle la méthode dans le bon modèle!