ok, i got it sorted. discovered the 'alias' method, and also realized
that t in tags consists of tuples of Tag object and integer (for the
count), not simply Tag objects with a new attribute for the count.
thanks again, i'm on my way now.. for the sake of documentation, my
new code is:
s = select([ObjectTag.c.tag_id, func.count('*').label('obj_count')]).\
where(ObjectTag.c.object_type_id == 2).\
group_by(ObjectTag.c.tag_id).\
order_by(desc(func.count('*'))).\
limit(35).alias('top_tags')
tags = session.query(Tag).add_column(s.c.obj_count).\
select_from(Tag.table.join(s, Tag.id == s.c.tag_id)).\
order_by(Tag.name)
for t in tags:
print t[0].name + ' has ' + str(t[1]) + ' articles'
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---