On Apr 5, 2011, at 1:53 PM, "King Simon-NFHD78" <simon.k...@motorolasolutions.com> wrote:
>> -----Original Message----- >> From: sqlalchemy@googlegroups.com [mailto:sqlalchemy@googlegroups.com] >> On Behalf Of Michael Bayer >> Sent: 05 April 2011 18:38 >> To: sqlalchemy@googlegroups.com >> Subject: Re: [sqlalchemy] Two Objects, One Table and the inverse >> >> >> On Apr 5, 2011, at 12:30 PM, Israel Ben Guilherme Fonseca wrote: >> >> >> Thks for the insight Michael. >> >> With the @property solution, its not possible to make queries >> like session.query(Person).filter(Person.address.street="Something") >> right? >> >> >> that's not possible with standard SQLAlchemy expression constructs >> anyway. Normally you'd use Address.street to get clause elements >> against Address. You can use hybrids to create this effect fully >> (see http://www.sqlalchemy.org/docs/07/orm/extensions/hybrid.html ) >> > > Out of interest, if Person and Address were standard mapped classes with > a one-to-one relationship between them, could that query be made to > work: > > session.query(Person).filter(Person.address.street=="Something") > > I guess it would have to be equal to: > > > session.query(Person).join(Person.address).filter(Address.street=="Somet > hing") > > In order for that to work, Person.address would have to be a smart > wrapper for the Address class that adds the join condition into any > attribute comparison operations. > > Good idea, or silly idea? (Or perhaps it already works...) I've stayed away from class.relationship.attribute partially because the namespace on .relationship isn't really wide open, also it implies a join occurring by itself, which would dilute the more open ended utility of query.join(). > > Simon > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.