You should search how to make a group by activity and a partition by month then take each partition and sum the record up, i don't know how to do it in Django orm but in sql is the most effective way to solve the issue and it's a lot let expensive than taking all the activities and then search in the status Table. my 2 cents Agnese
On Tue, 25 Feb 2020 at 21:07, Mario Bisiani <[email protected]> wrote: > I tryed to search for answer but nothing yet can help me. > > I have one class model Activity and a class model Status : > > class Status(models.Model): > activity = models.ForeignKey(Activity, on_delete=models.CASCADE, > related_name="all_status") > status_date = models.DateField() > actual_progress = models.DecimalField(max_digits=3, decimal_places=2) > > I need to get last 'status_date' for each activity for each month and sum > up its actual_progress. > > Can't find after many research a way out. > > *Update* > > I found a way to get latest status per activity helped here Django - get > latest object in each relation > <https://stackoverflow.com/questions/52586866/django-get-latest-object-in-each-relation> > : > > @classmethod > def get_latest_by_activity_ids(cls, activity_id): > found = [] > for aid in Activity.objects.all(): > > found.append(cls.objects.filter(activity_id=aid).latest("status_date")) > return found > > This gave me a list of dates. Now I'm blocked to sum them up per month. > > > > https://stackoverflow.com/questions/60366457/get-last-instance-object-per-each-month-and-sum-per-month-in-django > > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/91d43812-6c7a-431d-9117-7a79519564fd%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/91d43812-6c7a-431d-9117-7a79519564fd%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACXuh-Ryg0C6W%2Br7U%2BZqJywcmv9-o1MiwKCarm1dmT%3DK%2B5quHQ%40mail.gmail.com.

