Alors en fait j'ai trouvé une autre solution, j'ai ajouté un attribut 
derndate dans la classe arbre :

derndate = fields.Date(                
                string=u'Dernière date',
                help=u'Dernière date',
                states=STATES,
                depends=DEPENDS,
                on_change_with=['evolution']
            )

    def on_change_with_derndate(self):
        return self.evolution[-1].date

Cela me renvoie la dernière date de evol_arbre.

Le mercredi 12 mars 2014 16:58:35 UTC+1, Pascal Obstetar a écrit :
>
> 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 ?
> @+
>

Répondre à