Пример #1
0
 def export_csv(self, request, queryset):
     response = HttpResponse(mimetype='text/csv')
     response['Content-Disposition'] = 'attachment; filename=%s.csv' % slugify(queryset.model.__name__)
     if self.csv_bom:
         response.write("\xEF\xBB\xBF")
     csv_generator = CsvGenerator(self, self.model, self.get_csv_fields(request), header=self.csv_header, delimiter=self.csv_delimiter, quotechar=self.csv_quotechar, DB_values=self.csv_DB_values, csv_formatters=self.csv_formatters, encoding=self.csv_encoding)
     csv_generator.export_csv(response, queryset)
     return response
Пример #2
0
def generate_csv(generated_file_pk, app_label, model_name, ids, csv_fields, language):
    try:
        generated_file = GeneratedFile.objects.get(pk = generated_file_pk)
        translation.activate(language)
        
        admin.autodiscover()
        model = get_model(app_label, model_name)
        model_admin = admin.site._registry[model]
        queryset = model.objects.filter(pk__in = ids) 
      
        output = cStringIO.StringIO() 
        csv_generator = CsvGenerator(model, csv_fields, header=model_admin.csv_header, delimiter=model_admin.csv_delimiter, quotechar = model_admin.csv_quotechar,  DB_values = model_admin.csv_DB_values, csv_formatters=model_admin.csv_formatters, encoding=model_admin.csv_encoding)
        csv_generator.export_csv(output, queryset)
            
        generated_file.file.save('%s-%s.csv' % (model_name, generated_file.datetime), ContentFile(output.getvalue()))
        generated_file.save()
    
    except ObjectDoesNotExist:
        pass
Пример #3
0
 def import_csv(self, f):
     csv_generator = CsvGenerator(self, self.model, self.csv_fields, header=self.csv_header, delimiter=self.csv_delimiter, quotechar=self.csv_quotechar, DB_values=self.csv_DB_values, csv_formatters=self.csv_formatters, encoding=self.csv_encoding)
     obj = csv_generator.import_csv(f, self)
     return obj