Группировка по в сериализаторе в Django Rest Framework
Я новичок в Django Rest Framework, я хочу группировать данные моего сериализатора по дате, Как я могу это сделать.
Как я могу сгруппировать это по дате?
моя модель: модель mongo с некоторыми другими полями, но использует только эти два поля
class Activity(Document):
"""
mongo model
"""
candidate_id = StringField(required=True, db_field='c')
timestamp = DateTimeField(required=True, db_field='d')
...
... more fields
Мои представления: файл моих представлений
class RecentActionView(generics.ListAPIView):
serializer_class = RecentActionSerializer
def get_queryset(self):
recruiter_id = self.request.GET.get("recruiter_id")
activity_list = Activity.objects.filter(recruiter_id=str(recruiter_id)).order_by('- timestamp')
return activity_list
мой сериализатор: использование поля serializermethod для получения данных из другой БД с помощью id кандидата из модели деятельности
class RecentActionSerializer(serializers.Serializer):
name = serializers.SerializerMethodField()
designation = serializers.SerializerMethodField()
age = serializers.SerializerMethodField()
timestamp = serializers.DateTimeField(format="%H:%M")
def get_name(self, obj):
return something
def get_designation(self, obj):
return something
def get_age(self, obj):
return something
Я хочу сгруппировать мои ответы по дате следующим образом:
[
{
"date": "2022-12-05",
"candidates":[
{
"name": "One",
"designation": "Lead",
"age": 30,
"timestamp": "14:30"
}
]
},
{
"date": "2022-12-04",
"candidates":[
{
"name": "Two",
"designation": "Lead",
"age": 30,
"timestamp": "14:30",
}
]
}
]
мой реальный ответ таков:
[
{
"name": "One",
"designation": "Lead",
"age": 30,
"activity_timestamp": "13:12"
},
{
"name": "Two",
"designation": "Lead",
"age": 30,
"activity_timestamp": "13:12"
}
]