Hi, I have a problem with Django Orm annotate method..
My models (application: app): class File(models.Model): name = models.CharField(max_length=255) file = MyFileField(upload_to=...) class Visit(models.Model): file = models.ForeignKey(File) class Comment(models.Model): file = models.ForeignKey(File) #--------- >> e = >> File.objects.annotate(comment_cnt=Count('comment')).order_by('comment_cnt') >> print e[0].comment_cnt >> 3 # ok >> e = File.objects.annotate(visit_cnt=Count('visit')).order_by('visit_cnt') >> print e[0].visit_cnt >> 9 # ok >> e = File.objects.annotate(comment_cnt=Count('comment'), >> visit_cnt=Count('visit')).order_by('comment_cnt') >> print e[0].visit_cnt >> 27 # <----- ?? (3*9?) WRONG! >> print e[0].comment_cnt >> 27 # <----- ?? (3*9?) WRONG! SQL Query dump: (...), COUNT("app_visit"."id") AS "visit_cnt", COUNT ("app_comment"."id") AS "comment_cnt" FROM "app_file" LEFT OUTER JOIN "app_visit" ON ("app_file"."id" = "app_visit"."file_id") LEFT OUTER JOIN "app_comment" ON ("app_file"."id" = "app_comment"."file_id") GROUP BY (...) What is wrong? Why, when I'm using more than one Count() function in annotate, I've got multiply results? Thanks for help.. regards. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@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 -~----------~----~----~----~------~----~------~--~---