Django-Rest-Framework csv модул, използващ пагиниран модул

Здравейте, използвам модула django-rest-framework-csv и следвах инструкциите, за да създам Paginated renderer, използвайки този код:

from rest_framework_csv.renderers import CSVRenderer

class PaginatedCSVRenderer (CSVRenderer):
    results_field = 'results'

    def render(self, data, media_type=None, renderer_context=None):
        if not isinstance(data, list):
            data = data.get(self.results_field, [])
        return super(PaginatedCSVRenderer, self).render(data, media_type, renderer_context)

както го намерих на техния сайт github: django-rest-framework-csv . Това, което искам рендерът да направи, е да върне всичко в csv. В момента връща само текущата страница. може ли някой да помогне


person jangeador    schedule 03.11.2015    source източник


Отговори (1)


Можете да използвате csv модул на python, за да конвертирате страницата и да се върнете в csv. Не съм го тествал, но мисля, че трябва да работи. Предполагам разделител на раздели, но можете да го промените.

import csv

class PaginatedCSVRenderer (CSVRenderer):
    results_field = 'results'

    def render(self, data, media_type=None, renderer_context=None):
        if not isinstance(data, list):
            data = data.get(self.results_field, [])
        csv_input= super(PaginatedCSVRenderer, self).render(data, media_type, renderer_context)= csv.reader(open(txt_file, "rb"), delimiter = '\t')
        csv_output = csv.writer(csv_input)
        return csv_output
person Illusionist    schedule 03.11.2015
comment
Рендърът вече връща CSV, но връща само записите в текущата страница. Исках да видя дали мога да накарам програмата за изобразяване да прочете всички страници и да изведе всички записи в csv. - person jangeador; 04.11.2015