Как добавить массив JSON в отклик DRF - PullRequest
1 голос
/ 14 февраля 2020

У меня есть DRF ListAPIView, который возвращает это:

count: 35652
next: "https://platform/events/?format=json&page=2"
previous: null
results: (50) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
__proto__: Object

Что мне нужно добавить к представлению или сериализатору, чтобы вернуть это?

count: 35652
next: "https://platform/events/?format=json&page=2"
previous: null
results: (50) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
filter_data: ['filter element 1', 'filter element 2']
__proto__: Object

1 Ответ

1 голос
/ 14 февраля 2020

Поскольку вы используете ListAPIView, вы можете переопределить метод list(), имейте в виду, что этот метод должен возвращать объект Response (также взгляните на исходный код) (вдохновленный этот SO-ответ ).

   def list(self, request, *args, **kwargs):
        response = super().list(request, args, kwargs)

        # you can add the data that you need in the response
        response.data['filter_data'] = ['filter element 1', 'filter element 2']

        return response

Кроме того, не забывайте , что .data содержит уже сериализованные данные.

...