Christian Démolis wrote:
> Thx for your answer Thomas
>
> I want the attribute to not return the complete object just some of
> the attribute of the other table.
>
> In my case Utilisateur has some attributes : Login, Nom, Prenom, ...
> I dont want Verouillage.LeNomDuUtilisateur to return complete object
> Utilisateur
> I want it to return only Login attributes.
>
> Primaryjoin seems to work on condition (where clause) and not on
> select condition (select ... in a query)
>
> Is it possible to limit selected attributes in the relation?
>
You can use sqlalchemy.ext.associationproxy.association_proxy to turn a
collection of related objects into a collection of related object
attributes:
_LeUtilisateur = relation(Utilisateur, backref=backref('verrouillage'))
LeNomDuUtilisateur = association_proxy('_LeUtilisateur', 'Login')
-Conor
> 2009/11/24 Tefnet Developers - Tomasz Jezierski <[email protected]
> <mailto:[email protected]>>
>
> Dnia 2009-11-24, Wt o godzinie 11:18 +0100, Christian Démolis pisze:
> > Is it possible to put a filter on a relation in the declaration?
> >
> > Example :
> > LeNomDuUtilisateur = relation(Utilisateur,
> > filter_by=Utilisateur.Login, backref=backref('verrouillage'))
>
> I'm not sure what exactly your example means.. but if you want extra
> filters on relation, you can change primaryjoin
>
> http://www.sqlalchemy.org/docs/05/mappers.html#specifying-alternate-join-conditions-to-relation
>
> something like:
> LeNomDuUtilisateur = relation(Utilisateur,
> primaryjoin=sqlalchemy.and_(defaultjoincondition,
> yourextrafiltercondition), backref='verrouillage')
>
>
> Tomasz Jezierski
> Tefnet
> www.tefnet.pl <http://www.tefnet.pl>
>
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.