On 12 Mar 08:58, Pascal Obstetar wrote: > Bonjour, > > J'ai ces classes ci-dessous : > > class evol_arbre(ModelSQL, ModelView): > u'Évolution d\'un arbre' > __name__ = 'cg.evol_arbre' > _rec_name = 'date' > > arbre = fields.Many2One( > 'cg.arbre', > string=u'Arbre ID', > help=u'Arbre ID', > ) > date = fields.Date( > string = u'Date', > help=u'Date du constat', > required = True, > ) > > mecanique = fields.Selection( > _MECANIQUES, > string = u'État mécanique', > help = u'État mécanique de l\'arbre', > required=False, > ) > > class arbre(ModelSQL, ModelView): > u'Arbres' > __name__ = 'cg.arbre' > _rec_name = 'code' > > diametre = fields.Float( > string = u'Diamètre', > help=u'Diamètre du tronc', > states=STATES, > depends=DEPENDS, > ) > > evolution = fields.One2Many( > 'cg.evol_arbre', > 'arbre', > string=u'Évolutions', > help=u'Évolutions de l\'arbre', > states=STATES, > depends=DEPENDS, > ) > > je voudrais dans une vue arbre récupérer la date la plus récente de la > classe evol_arbre pour l'arbre considéré ? faut-il un champ Function ? Si > oui comment définir la fonction ?
Oui un champs Function avec un getter du genre: @classmethod def get_date(cls, arbres, name): … arbre_ids = [a.id for a in arbres] values = dict.fromkeys(arbre_ids) cursor.execute(*evol.select(evol.arbre, Max(evol.date), where=evol.arbre.in_(arbre_ids), group_by=evol.arbre)) values.update(cursor.dictfetchall()) return values -- Cédric Krier - B2CK SPRL Email/Jabber: cedric.kr...@b2ck.com Tel: +32 472 54 46 59 Website: http://www.b2ck.com/
pgpT6LL3Xcf8c.pgp
Description: PGP signature