I have 2 models connected with ForeignKey. For example: class pidpr(models.Model): pidpr = models.TextField() suma_oplat = models.DecimalField(max_digits=10, decimal_places=3)
class obj(models.Model): product = models.TextField() pidpr = models.ForeignKey("pidpr", related_name="objs") I need to summarize fields suma_oplat for every manager if product field is equal to some value. For example: It works without filtering second table: pidpr.objects.values("manager").annotate(Sum("suma_oplat")) Here is result: [{'manager': 1, 'suma_oplat__sum': Decimal('700.000')}, {'manager': 2, 'suma_oplat__sum': Decimal('400.000')}] When use filtering: pidpr.objects.filter(objs__product="22").values("manager").annotate(Sum("suma_oplat")) It gives result: [{'manager': 1, 'suma_oplat__sum': Decimal('1200.000')}] When we use filtering, we get 'suma_oplat__sum' bigger than without filtering. distinct() didn't help. Now I use in loop such evaluation: sum([i["suma_oplat"] for i in pidpr.objects.filter(objs__product="22",manager=<some_value>).distinct().values("id", "manager", "suma_oplat")]) Any proposals? -- 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.