I have a Article table may relate with a Room table and I want to find
Article sometime with Room.name.
So I wrote the code like below.

query = meta.Session.query(Article)
query = query.outerjoin('rooms')
if room_name is not None:
    query = query.filter(Room.name == room_name)
query = query.group_by(Article.id)
return query

A result is correct. I got all Article name without room_name and
Articles which has rooms named as room_name.

However, when I use this query with webhelpers.paginate(http://
beta.pylonshq.com/docs/ja/0.9.7/thirdparty/webhelpers/paginate/
#webhelpers.paginate.Page), everything goes wrong. 'paginator' doesn't
work correct.

So I chacked logs and find this output.
 'SELECT COUNT(1) AS count_1 FROM articles LEFT OUTER JOIN rooms ON
articles.id = rooms.article_id GROUP BY articles.id'

This is might made by .count() function of sqlalchemy in somewhere in
webhelpers.paginate code I think. However what I want to get is
'SELECT COUNT(1) AS count_1 FROM (SELECT * FROM articles LEFT OUTER
JOIN rooms ON articles.id = rooms.article_id GROUP BY articles.id)'

I have no idea to fix this problem. Anyone? thank you.


SQLAlchemy: 0.5.4
Pylons: 0.9.7
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to