У меня есть много запросов, которые нужно вернуть в одном запросе, у меня есть запрос с агрегатом, и когда мы объединяем набор запросов с этой функцией и пытаемся сериализовать функцию, возвращается ошибка:
Traceback (most recent call last): File
"C:\Python35\lib\site-packages\django\core\handlers\exception.py",
line 35, in inner
response = get_response(request) File "C:\Python35\lib\site-packages\django\core\handlers\base.py", line
128, in _get_response
response = self.process_exception_by_middleware(e, request) File "C:\Python35\lib\site-packages\django\core\handlers\base.py", line
126, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Python35\lib\site-packages\django\views\decorators\csrf.py", line
54, in wrapped_view
return view_func(*args, **kwargs) File "C:\Python35\lib\site-packages\rest_framework\viewsets.py", line 103,
in view
return self.dispatch(request, *args, **kwargs) File "C:\Python35\lib\site-packages\rest_framework\views.py", line 483, in
dispatch
response = self.handle_exception(exc) File "C:\Python35\lib\site-packages\rest_framework\views.py", line 443, in
handle_exception
self.raise_uncaught_exception(exc) File "C:\Python35\lib\site-packages\rest_framework\views.py", line 480, in
dispatch
response = handler(request, *args, **kwargs) File "C:\Python35\lib\site-packages\drf_multiple_model\mixins.py", line
106, in list
self.check_query_data(query_data) File "C:\Python35\lib\site-packages\drf_multiple_model\mixins.py", line 40,
in check_query_data
'`{}` key'.format(self.__class__.__name__, key) django.core.exceptions.ValidationError: ['All items in the
ConversasAPIViewSet querylist attribute should contain a `queryset`
key']
Есть ли какое-либо решение этой проблемы?
APIViewSet:
class ConversasAPIViewSet(ObjectMultipleModelAPIViewSet):
kpiDTO = KpiDTO(6)
json = Conversas.objects.values('nome'
).annotate(deltaTime = (Max('data') - Min('data'))
).aggregate(tempoMedioTotal=Avg('deltaTime'))
qtdUsuariosMes, qtdMensagensMes, fraseIntentEntity, tempoMedioTotal = kpiDTO.retornaDTO()
querylist = [
{'queryset': qtdMensagensMes, 'serializer_class': QuantidadeMensagensMesSerializer, 'label': 'qtdMensagensMes'},
{'queryset': qtdUsuariosMes, 'serializer_class': QuantidadeUsuariosMesSerializer,'label': 'qtdUsuariosMes' },
{'queryset': fraseIntentEntity, 'serializer_class': EntidadeIntencaoSerializer, 'label': 'fraseIntentEntity'},
{'queryset': json , 'serializer_class': TempoMedioSerializer, 'label': 'tempoMedio'}
]
Сериализатор:
class TempoMedioSerializer(serializers.Serializer):
tempoMedioTotal = serializers.CharField()