Re: Order model objects by foreign key "set" count

2010-03-11 Thread JHeasly
This post was exactly was I was looking for!

Just a reminder, don't forget to
from db.models import Count

On Jan 11, 8:51 pm, Margie Roginski  wrote:
> Ah - yes, that is so awesome!  For anyone interested, here's the magic
> incantation:
>
> Book.objects.annotate(Count('reader')).order_by('reader__count')
>
> Or more verbosely:
>
> Book.objects.annotate(num_readers=Count('reader')).order_by
> ('num_readers')
>
> That documentation link describes it very well.   Thanks Scott!
>
> Margie
>
> On Jan 11, 7:51 pm, Scott Maher  wrote:
>
>
>
> > Margie Roginski wrote:
> > > Say I have a Readermodelthat has aforeignkeyto a Book
>
> > > class Reader(models.Model):
> > >   book = models.ForeignKey(Book)
>
> > > Now say I want to find all books andorderthem by the number of
> > > readers.  Is that possible, ie something like this?
>
> > > Book.objects.all().order_by(reader_set__count)
>
> > > This syntax doesn't work, however.  Is this possible?
>
> > > Margie
>
> > I can't give you specific code but I think that you want is under the
> > Aggregation section of the documentation. Specifically I think you want
> > to apply the Count object on the Book reader set. You were almost there. :)
>
> >http://docs.djangoproject.com/en/dev/topics/db/aggregation/#topics-db...

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Order model objects by foreign key "set" count

2010-01-11 Thread Margie Roginski
Ah - yes, that is so awesome!  For anyone interested, here's the magic
incantation:

Book.objects.annotate(Count('reader')).order_by('reader__count')

Or more verbosely:

Book.objects.annotate(num_readers=Count('reader')).order_by
('num_readers')

That documentation link describes it very well.   Thanks Scott!

Margie

On Jan 11, 7:51 pm, Scott Maher  wrote:
> Margie Roginski wrote:
> > Say I have a Reader model that has a foreign key to a Book
>
> > class Reader(models.Model):
> >   book = models.ForeignKey(Book)
>
> > Now say I want to find all books and order them by the number of
> > readers.  Is that possible, ie something like this?
>
> > Book.objects.all().order_by(reader_set__count)
>
> > This syntax doesn't work, however.  Is this possible?
>
> > Margie
>
> I can't give you specific code but I think that you want is under the
> Aggregation section of the documentation. Specifically I think you want
> to apply the Count object on the Book reader set. You were almost there. :)
>
> http://docs.djangoproject.com/en/dev/topics/db/aggregation/#topics-db...
-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.




Re: Order model objects by foreign key "set" count

2010-01-11 Thread Scott Maher

Margie Roginski wrote:

Say I have a Reader model that has a foreign key to a Book

class Reader(models.Model):
  book = models.ForeignKey(Book)


Now say I want to find all books and order them by the number of
readers.  Is that possible, ie something like this?

Book.objects.all().order_by(reader_set__count)

This syntax doesn't work, however.  Is this possible?

Margie
  
I can't give you specific code but I think that you want is under the 
Aggregation section of the documentation. Specifically I think you want 
to apply the Count object on the Book reader set. You were almost there. :)


http://docs.djangoproject.com/en/dev/topics/db/aggregation/#topics-db-aggregation
-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.




Order model objects by foreign key "set" count

2010-01-11 Thread Margie Roginski
Say I have a Reader model that has a foreign key to a Book

class Reader(models.Model):
  book = models.ForeignKey(Book)


Now say I want to find all books and order them by the number of
readers.  Is that possible, ie something like this?

Book.objects.all().order_by(reader_set__count)

This syntax doesn't work, however.  Is this possible?

Margie

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.