joeformd wrote: > > thanks - but how does that query specify a town? > > It seems like that would just return true if the current user had any > town relationships? Or am I reading it wrong?
oh ok - session.scalar(exists().where(user_towns.c.user_id==current_user.id).\ where(user_towns.c.town_id==town_id)) > > > On Sep 19, 5:46 pm, Michael Bayer <mike...@zzzcomputing.com> wrote: >> On Sep 19, 2009, at 11:41 AM, joeformd wrote: >> >> >> >> > When we tried that it made a sql query to get all the towns (towns are >> > loaded lazily) - that could be an awful lot of information, so this >> > would be a much faster query >> >> so, the most succinct (and efficient) query of all is >> >> session.scalar(exists().where(user_towns.c.user_id==current_user.id)) >> >> should return True/False right back >> >> >> >> >> >> > On Sep 19, 4:33 pm, Michael Bayer <mike...@zzzcomputing.com> wrote: >> >> On Sep 19, 2009, at 10:19 AM, joeformd wrote: >> >> >>> Thanks for the speedy response Michael, >> >> >>> we came up with this: >> >> >>> current_user_has_town = bool(session.query(User).filter >> >>> (User.id==current_user.id).filter(User.towns.contains >> >>> (current_user)).count()) >> >> >>> which maybe has slightly clearer intent? >> >> >> if you already have the current_user, why not just say "town in >> >> current_user.towns" > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---