greathector7

configurango un csv

Apr 21st, 2019
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. def Expedientes_reportes_csv(request):
  2.     # Create the HttpResponse object with the appropriate CSV header.
  3.     if request.method == 'GET':
  4.         fecha1 = request.GET.get('desde')
  5.         fecha2 = request.GET.get('hasta')
  6.         dato = request.GET.get('cuenta')
  7.         tipo = request.GET.get('tipo')
  8.         qs = expediente.objects.all()
  9.         filtros2 = {}
  10.         if fecha1 or fecha2 or dato:
  11.             if fecha1:
  12.                 if fecha2:
  13.                     filtros2.update({"fecha__range": (fecha1, fecha2)})
  14.                     logging.info('Entrada a if para 2 fechas')
  15.                 else:
  16.                     filtros2.update({"fecha__date": (fecha1)})
  17.                     logging.info('Entrada a if para fecha1')
  18.             elif fecha2:
  19.                 filtros2.update({"fecha__date": (fecha2)})
  20.                 logging.info('Entrada a if para fecha2')
  21.             if dato:
  22.                 filtros2.update({"cuenta": (dato)})
  23.                 logging.info('dato en elif')
  24.                 logging.debug(dato)
  25.  
  26.         else:
  27.             qs_hoy = qs.filter(fecha__date=date.today())
  28.             logging.info('sin datos a pedir trae por defecto el dia')
  29.             # logging.debug(str(qs_hoy))
  30.  
  31.         qs_filtrado = qs.filter(**filtros2).order_by('cuenta', 'nsolicitud')
  32.    
  33.  
  34.         logging.info('preparacion del queryset')
  35.         logging.debug(str(filtros2))
  36.         # logging.debug(str(qs_filtrado))      
  37.  
  38.  
  39.     response = HttpResponse(content_type='text/csv')
  40.     response['Content-Disposition'] = 'attachment; filename="somefilename.csv"'
  41.  
  42.     writer = csv.writer(response)
  43.     writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
  44.     writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"])
  45.  
  46.     return response
Advertisement
Add Comment
Please, Sign In to add comment