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

Python Discussion :

Post subject: TypeError: unsupported operand type(s) for +=: 'browse_record


Sujet :

Python

  1. #1
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut Post subject: TypeError: unsupported operand type(s) for +=: 'browse_record
    Bonjour à tous

    voila j'ai mis ce code afin de concaténer deux champs mais je me retrouve avec cette erreur
    Post subject: TypeError: unsupported operand type(s) for +=: 'browse_recor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def get_name(self, cr, uid, ids, field_name, arg, context=None):
            res = {}
            for allocation in self.browse(cr, uid, ids, context=context):
                name = allocation.resource_id
                name += allocation.product_id
                res[allocation.id] = name

    une idée svp ?
    Je fume du thé et je reste éveillé, le cauchemar continue.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Points : 224
    Points
    224
    Par défaut
    Salut,

    Tu utilises apparemment une lib externe (c'est pas du OpenERP, ça ?).
    Ne sachant pas laquelle, je ne peux que faire des supputations en lisant le message d'erreur.

    Ta variable name semble contenir un objet de type browse_record (type sûrement spécifique à la lib que tu utilises), qui ne supporte pas l'opération +=.
    Il faut donc lire la doc de cette lib pour savoir comment faire (convertir ton browse_record en str avant concaténation, utiliser une méthode proposée par ta lib, ou autre...).

  3. #3
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut
    oui j'utilise Openerp
    merci pour la réponse je vais faire une recherche.
    Je fume du thé et je reste éveillé, le cauchemar continue.

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Bug : File "dateutil\relativedelta.pyo", line 247, in __radd__ TypeError: unsupported type for add operation
    je voulais faire avancer le nombre des mois de la date d'octroi par le nombre d'échéance que j'obtiens : j'ai fais cette fonction

    import datetime
    from dateutil.relativedelta import relativedelta
    from datetime import timedelta
    from datetime import datetime

    def _dob(self, cr, uid, ids, field_name, arg, context={}):
    result = {}
    for id in ids:
    myself = self.browse(cr, uid, id, context=context)
    res = {}
    if myself:
    res = (myself.date_octroi + relativedelta(months = + myself.nbre_echeances))
    result[id] = res.strftime('%Y-%m-%d')

    return result

    mais à ce moment j'obtiens le bug File "dateutil\relativedelta.pyo", line 247, in __radd__ TypeError: unsupported type for add operation
    j'ai pas trouvé de solution pour ce bug svp aidez moi parceque je suis encore débutante à ce stade et cette tâche est urgente pour mon projet . merci d'avance

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Bonjour

    Pourquoi ne pas créer un nouveau sujet?

    j'ai pas trouvé de solution pour ce bug
    Ce n'est pas un bug !

    Vous êtes débutante et attaquez déjà les classes, je ne comprendrais jamais cette manière d'enseigner...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res = (myself.date_octroi + relativedelta(months = + myself.nbre_echeances))
    De quel type est res? Il faut revoir le tutoriel en ce qui concerne ce type.

    Bon courage, le projet n'est malheureusement pas près d'être terminé, il faut commencer par apprendre python.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    je sais que c'est pas logique d'être débutante et commencer par les classes .. mais bon je suis obligée de résoudre ce problème afin de rendre mon projet ..

    merci pour tout

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Si vous êtes prêtes à lire les documentations, peut-être vous pourrez vous en sortir... seulement ça demande de l'investissement (pas juste vouloir).

    res est un objet dictionnaire et n'a pas d'attribut/méthode strftime.

    strftime est une fonction du module time, lisez bien la doc... et n'a donc rien à voir avec un dictionnaire.

    Vous devez apprendre les bases avant de vous lancer tête baissée dans un projet.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. [V8] Unsupported operand type(s) for *: 'account.tax' and 'float'
    Par Martin.M dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 17/11/2014, 09h48
  2. [PHP 5.2] Fatal error: Unsupported operand types
    Par ju0123456789 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2010, 18h07
  3. Réponses: 2
    Dernier message: 25/03/2009, 21h40
  4. [MySQL] Fatal error: Unsupported operand types in..
    Par Sekigawa dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/03/2008, 10h58
  5. [PEAR][DB] Unsupported operand types in Renderer.php
    Par brissou dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/05/2007, 13h50

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