Thursday, April 28, 2016

Re: (Newbie) Stuck with annotate() docs

Yup! Makes sense now. I hope it saves someone some trouble someday. :-)

Thanks a lot, Tim!

Best,
Ankush

On Thursday, April 28, 2016 at 12:21:35 AM UTC+5:30, Tim Graham wrote:
Please give this a try: https://github.com/django/django/pull/6524

On Wednesday, April 27, 2016 at 10:45:03 AM UTC-4, Ankush Thakur wrote:
I'm not sure how Book.objects.first().chapters is different from Book.objects.first().chapters.count(), but the point is that "chapters" is not defined in the models at the top of that page! The snippet makes sense if I treat Book.chapters as another ManyToManyField (like authors), but it's really weird to see that error in the docs. So, does that mean I can report it? If yes, to who?

On Wednesday, April 27, 2016 at 4:36:40 AM UTC+5:30, Tim Graham wrote:
Looks like a typo. Does the rest of the example make sense and work if that line is changed to "Book.objects.first().chapters"?

On Tuesday, April 26, 2016 at 12:50:31 PM UTC-4, Ankush Thakur wrote:
Folks, I'm having exceptional trouble understanding annotate(), aggregate(), and their various combinations. I'm currently stuck here: https://docs.djangoproject.com/en/1.9/topics/db/aggregation/#combining-multiple-aggregations

The example here uses Book.objects.first().chapters.count(), but there's no chapters model or field at the start of the tutorial. It's frustrating, to say the least. Even if I set up a separate application to test this myself, what do I make of "chapters"? Is it another model with many-to-many relation with Book? When I ran an example with the following models:

class Author(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()

class Book(models.Model):
    name = models.CharField(max_length=300)
    chapters = models.IntegerField()
    authors = models.ManyToManyField(Author)

I got: 

>>> Book.objects.first().chapters.count()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'int' object has no attribute 'count'
>>> 

So basically, I feel like I'm screwed. Please help.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/20a60d70-ef3b-4036-9e5d-dbe228a250ef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment