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 :

Champs Many2one et options [V10]


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2018
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 95
    Points : 79
    Points
    79
    Par défaut Champs Many2one et options
    Bonjour,

    Voici la déclaration de mon champs:


    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    partner_id = fields.Many2one(string="Child", comodel_name="res.partner")

    J'aimerai savoir si il est possible de ciblé un autre champs de la table res.partner a part le "name" ?

    Et pourquoi pas un champs qui dépend d'un autre champs ?

    Il est possible de déclaré des options ?

    Merci pour votre aide !

  2. #2
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Points : 72
    Points
    72
    Par défaut
    Dans la déclaration suivante, tu ne vises pas spécifiquement le name de res.partner du vise le modèle dont le nom est res.partner.

    Lui la liaison en base qu'il va faire (clé étrangère) est basé sur l'id du modèle (et pas sur le nom ou n'importe quel autre champ).

    Une fois que le lien est fait avec un objet, tu peux par contre avoir accès à toutes les informations de ce champs (par le biais d'un champ related par exemple)

    Si tu fais sinon référence au fait que dans un champ many2one, l'information que l'on voit depuis l'interface est le nom de l'objet, c'est autre chose.

    C'est simplement qu'il faut bien afficher quelque chose (et que l'ID cela ne parlerait pas à grand monde) et tu peux le changer si tu le souhaites en modifiant le name_get()

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2018
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 95
    Points : 79
    Points
    79
    Par défaut
    Bonjour,
    Merci pour ta réponse.
    J'essaie de comprendre une chose.

    Quand j'exporte mon champs partner_id via l'interface d'Odoo, je n'ai pas une valeur de type res_partner_5096 mais la valeur d'un autre champs qui est un identifiant externe. "N0000542145"
    C'est ce qu'il me faut pour pouvoir préparer un fichiers d'imports

    Par contre j'ai un second champs "foyer_id" qui m'exporte quelque chose du style "relation_foyer_6055". La je comprend bien que c'est l'identifiant qui correspond à enregistrement de cette personne.
    Pourtant mes champs sont déclarés de la même façon.

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    partner_id = fields.Many2one(string="Child", comodel_name="res.partner")
    foyer_id = fields.Many2one(string="Foyer", comodel_name="horanet.relation.foyer")

    Je n'arrive pas à comprendre pourquoi cette différence lors des exports de ces deux champs pour un même partner.
    Une idée ?


    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Points : 72
    Points
    72
    Par défaut
    Alors soit l'identifiant que tu récupères est un identifiant utilisé pour l'import de partenaire, soit ce n'est pas l'xml_id que tu récupères car un xml_id est toujours de la forme NomDuModule.nom_du_model_res_id ou NomDuModule est __export__ si le modèle a été créé manuellement ou importé sans xml_id.

    Donc de prime abord, non je n'aurais pas d'explication sur la raison.

    Je te conseille de te mettre en mode développeur (sur odoo) et d'aller sur ton objet qui a ce fameux identifiant étrange, et de regarder les métadonnées (symbole insecte puis voir les métadonnée).

    Tu y trouveras l'xml_id de l'objet.

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

Discussions similaires

  1. [WB18] champ Menu: sous-options dynamiques?
    Par fdelepine dans le forum WebDev
    Réponses: 0
    Dernier message: 10/12/2013, 14h55
  2. [eZ Publish] Bug champs de saisie option : valeur doublée
    Par ricozor dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 07/10/2011, 09h53
  3. Réponses: 6
    Dernier message: 21/06/2011, 12h11
  4. Impossible de créer une table avec champs many2one ou one2many !
    Par rugueux dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 16/06/2011, 20h16
  5. Tester la valeur d'un champ pour éviter options "has no properties"
    Par lodan dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 27/03/2007, 08h47

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