Как разделить [отфильтрованный список по дате(from_date, to_date)] на день. Django

я хочу отображать информацию о лайках.
Я отфильтровал модель (from_date, to_date) и получил список всех лайков за это время. Теперь мне нужно как-то отсортировать и разделить его, чтобы он выглядел примерно так:

[
  {
     date: 2021-12-10,
     likes:[
              {
                 user: user1,
                 post: post1
              },
              {
                 user: user1,
                 post: post1
              }
           ]
  }, 
  {
     date: 2021-12-11,
     likes:[
              {
                 user: user1,
                 post: post1
              },
           ]
  }
]

Не могли бы вы дать мне несколько советов, как это можно сделать.

models.py

class LikesActivity(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
    created = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"{self.post} liked by {self.user}, {self.created}"

    class Meta:
        verbose_name = 'Likes activity'
        verbose_name_plural = 'Likes activities'

views.py

class LikesActivityRangeFilter(APIView):
    def get(self, request, from_year, from_month, from_day,
            to_year, to_month, to_day):
        from_date = f"{from_year}-{from_month}-{from_day}"
        to_date = f"{to_year}-{to_month}-{to_day}"
        likes = LikesActivity.objects.filter(
            created__range=[from_date, to_date]).order_by('created')

        serializer = LikesActivitySerializer(likes, many=True)
        return Response(serializer.data)
Вернуться на верх