j'ai résolu le problème mais maintenant j'en ai un autre : j'ai un rapport Many2Many entre les deux classes dispositifs et party. j'ai donc créé la classe "dispositif" et la table relationnelle "dispositif_party_rel" comme ci-dessous :
from trytond.model import ModelView, ModelSQL, fields class Dispositifs(ModelSQL, ModelView): 'Dispositifs' _name = 'dispositif.dispositif' _description = __doc__ dis_num = fields.Integer('Num dispositif') name = fields.Char('Nom') dis_type = fields.Selection([('i',u'Institutionnel'),('p',u'Propriétaire'),('g',u'Groupement forestier'),('d',u'Indivision'),('e',u'Etat'),('c',u'Commune'),('s',u'SCI')],'Type propriété') dis_parcelle = fields.Char('Num parcelle') dis_surf = fields.Float('Surface', help='Surface de la parcelle') dis_surface_foret = fields.Float('Surface forêt') dis_observation = fields.Text('Observation') dis_date_instal = fields.Date('Date', help='Date d installation') dis_ass = fields.Char('Fiches associées', help='Dispositifs associés') dis_ess1 = fields.Many2One('essence.essence', 'Essence1', help='Essence1 pour Hdom') dis_hdom1 = fields.Float('Haut dominante 1', help='hauteur associée à l essence1') dis_ess2 = fields.Many2One('essence.essence', 'Essence2', help='Essence2 pour Hdom') dis_hdom2 = fields.Float('Haut dominante 2') dis_rege_ess1 = fields.Many2One('essence.essence', 'Essence rege 1', help='Essence rege 1') dis_rege_ess2 = fields.Many2One('essence.essence', 'Essence rege 2', help='Essence rege 2') dis_rege_ess3 = fields.Many2One('essence.essence', 'Essence rege 3', help='Essence rege 3') dis_rege_ess4 = fields.Many2One('essence.essence', 'Essence rege 4', help='Essence rege 4') dis_rege_ess5 = fields.Many2One('essence.essence', 'Essence rege 5', help='Essence rege 5') dis_country = fields.Many2One('country.subdivision', 'Commune', help='Commune de situation du dispositif') dis_party = fields.Many2Many('dispositif.dispositif-party.party', 'dispositif', 'party', 'Opérateur', help='Opérateurs des descriptions du dispositif') def __init__(self): super(Dispositifs, self).__init__() self._order.insert(0, ('dis_num', 'ASC')) Dispositifs() class DispositifsParty(ModelSQL, ModelView): 'Dispositif - Party' _name = 'dispositif.dispositif-party.party' _table = 'dispositif_party_rel' _description = __doc__ dispositif = fields.Many2One('dispositif.dispositif', 'Dispositif', ondelete='CASCADE', required=True, select=1) party = fields.Many2One('party.party', 'Party', ondelete='CASCADE', required=True, select=1) DispositifsParty() Maintenant je voudrais étendre la classe party pour avoir dans un onglet le nombre de dispositif par party et là je sèche, je n'arrive pas à écrire la classe "party.py" et "party.xml" dans le module dispositif en utilisant xpath ? Une idée ? @+ -- Pascal Obstétar Bio Eco Forests Tél : 06 70 614 944 www.forestiersdumonde.org -- tryton-fr@googlegroups.com mailing list