Мне нужен мой код для возврата счетчика для определенного идентификатора камеры c, который активен, и я хочу, чтобы он возвращался только один раз и отдельно. Но это происходит с каждой записью. Мой код, как показано ниже для класса модели:
def activeness(self):
result = MinuteRecords.objects.filter(
cam_id=self.cam_id,
face_status='Active',
).count()
return result
Для моего сериализатора:
class MinuteRecordsSerializer(serializers.ModelSerializer):
timeago = serializers.DateTimeField(read_only=True)
activeness = serializers.IntegerField(read_only=True)
class Meta:
model = MinuteRecords
fields = '__all__'
read_only_fields = ('timeago',)
Результат, который я получаю,
[
{
"id": 1,
"timeago": "5 days, 21 hours",
"activeness": 2,
"cam_id": 1,
"timestamp": "2020-02-06T14:55:26.852392Z",
"face_status": "Active"
},
{
"id": 6,
"timeago": "1 week",
"activeness": 2,
"cam_id": 1,
"timestamp": "2020-02-04T15:17:34.590323Z",
"face_status": "Active"
}
]
Результат, который я ожидайте:
[
{
"id": 1,
"timeago": "5 days, 21 hours",
"cam_id": 1,
"timestamp": "2020-02-06T14:55:26.852392Z",
"face_status": "Active"
},
{
"id": 6,
"timeago": "1 week",
"cam_id": 1,
"timestamp": "2020-02-04T15:17:34.590323Z",
"face_status": "Active"
},
"activeness": 2,
]
Суть в том, что я хочу вернуть общее количество записей после моего запроса в виде отдельной записи, а не добавляться к каждому результату.