Thread: [SQLObject] Sort by related join count?
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Sean M. <se...@mo...> - 2006-07-20 00:35:27
|
I have a general question about how to do something in SQLObject. I have two models, and Item model and a Collection model. They have a RelatedJoin between them because an item can be in many collections and a collection can have many items. I want to sort the list of items by the number of collections that they are in (i.e. those items included in the most collections first). How would you go about doing this with SQLObject? orderBy will only take strings that are column names, so I don't think that's what I want. Thanks! - Sean |
From: MichaelG <mgr...@ns...> - 2007-04-04 23:51:03
|
I have struggled for some time with the multi-key sort issue in SQLObject 0.8, and I can't seem to find any comments on the mailing list lately (if at all) that are on-point, at least for my newbie level of understanding, so I thought I'd throw this question out there, to see what the best approach would be. Is there an SQLObject way to do a sort using 2 or more keys without hand-crafted SQL code? Example: Let's say we have a table called Music, with columns: Artist Year TrackName And we want to get a sorted list showing all the TrackNames, but sorted first by Year, and then by Artist and TrackName. 1967 Joplin Song 1 Song 2 Hendrix Song A Song B 1968 Joplin Song 3 Song 4 Cream Song X Song Y In SQL, I think we would just do: SELECT Year, Artist, TrackName FROM Music ORDER BY Year, Artist, Track What if any is the equivalent syntax in SQLObject for this kind of multi-key sort? All I can find is the single column syntax for orderBy, but I am not sure how to render this as a 2 or more key argument. Much Thanks, - MichaelG |
From: Oleg B. <ph...@ph...> - 2007-04-05 07:09:30
|
On Wed, Apr 04, 2007 at 04:50:31PM -0700, MichaelG wrote: > SELECT Year, Artist, TrackName FROM Music ORDER BY Year, Artist, Track > > What if any is the equivalent syntax in SQLObject for this kind of > multi-key sort? All I can find is the single column syntax for orderBy, > but I am not sure how to render this as a 2 or more key argument. Use a list: Music.select(orderBy=[Music.q.year, Music.q.artist, Music.q.track]) Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: MichaelG <mgr...@ns...> - 2007-04-05 16:27:27
|
Oleg Broytmann wrote: > On Wed, Apr 04, 2007 at 04:50:31PM -0700, MichaelG wrote: >> SELECT Year, Artist, TrackName FROM Music ORDER BY Year, Artist, Track >> >> What if any is the equivalent syntax in SQLObject for this kind of >> multi-key sort? All I can find is the single column syntax for orderBy, >> but I am not sure how to render this as a 2 or more key argument. > > Use a list: > > Music.select(orderBy=[Music.q.year, Music.q.artist, Music.q.track]) > > Oleg. ---- Works like a charm, thanks, Oleg. |