IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Odoo (ex-OpenERP) Discussion :

Expected singleton [V8]


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 102
    Points : 43
    Points
    43
    Par défaut Expected singleton
    Bonsoir
    Je débute en langage python et odoo8 ,j'ai deux modèles et une relation entre eux de type Many2many
    J'ai établie cette relation pour pouvoir additionner plusieurs champs d'un modèle et les mettre dans un seul champ voici mon code le problème c'est que j'ai un message d'erreur de type
    Expected singleton: openacademy.course(6, 7)
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    from openerp import models , fields , api, exceptions
     
    class Opcourse(models.Model):
        # _name = 'openacademyad.cour'
        _inherit = 'openacademy.course'
     
        heur = fields.Float(string='Nombre d\'heurs', required=True)
        total_revenu = fields.Float(string='Total revenue', compute = "_prix_du_cour" )
        prix = fields.Float(string="Prix", required=True)
     
        @api.depends('prix', 'heur')
        def _prix_du_cour(self):
            self.total_revenu = self.heur * self.prix 
     
     
    class Opprogramme(models.Model):
        _name = 'openacademyad.programme'
        nom = fields.Many2many('openacademy.course' , string = "Cours programme")
        date_debut = fields.Date(string="Date de debut", required=True)
        prix_p = fields.Float(string="Prix", required=True , compute = "_prix_du_programme" )
        nbr_heur =  fields.Float(string='Nombre d\'heurs' )
        prix_heur =  fields.Float(string='Prix par heur ' )
     
        @api.multi
        def _prix_du_programme(self):
            valeur = 0.0 
            for r in self.nom:
                valeur  = valeur + r.total_revenu
            self.prix_p = valeur

    Je vous remercie d'avance pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Points : 254
    Points
    254
    Par défaut
    L'erreur renvoyée explique qu'au lieu d'avoir un enregistrement unique, Odoo reçoit un recordset (un jeu de de plusieurs enregistrements).

    Je vois deux endroits d'où peut venir le souci :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        @api.depends('prix', 'heur')
        def _prix_du_cour(self):
            self.total_revenu = self.heur * self.prix

    Sur self.total_revenu, self peut signifier 1 ou plusieurs enregistrements, d 'où le souci. Il vaudrait mieux :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        @api.depends('prix', 'heur')
        def _prix_du_cour(self):
            for course in self:
                course.total_revenu = course.heur * course.prix

    Aussi, de la même manière, l'api.multi utilisé aurait besoin de :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        @api.multi
        def _prix_du_programme(self):
            for prog in self:
                valeur = 0.0 
                for r in prog.nom:
                    valeur  = valeur + r.total_revenu
                prog.prix_p = valeur

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 102
    Points : 43
    Points
    43
    Par défaut
    Je vous remerci pour votre aide ça marche trées bien bonne journées a vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] pattern singleton
    Par SirDarken dans le forum Débuter avec Java
    Réponses: 22
    Dernier message: 11/12/2004, 01h55
  2. Problème avec le lieur "Expected a file name : "
    Par RA/m dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/06/2004, 08h41
  3. Mutiple row in singleton select ????? [Important, merci]
    Par SkyDev dans le forum Bases de données
    Réponses: 6
    Dernier message: 20/04/2004, 14h02
  4. [Plugin]package does not match the expected package src
    Par Fladnag dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 10/03/2004, 20h17
  5. [debutant]Singleton
    Par bafman dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/01/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo