Как разделить [отфильтрованный список по дате(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)