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 <[email protected]> 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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to