Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- args, kwargs
- URL:
- path('nacimientos_detalle/<int:pk>/',
- login_required(views.NacimientosDetail.as_view()),
- name='nacimientos_detalle'),
- VIEW:
- class NacimientosView(ListView):
- """Vista partidas de nacimientos pero filtrados desde un formulario"""
- model = PartidaNacimiento
- template_name = 'rcivil/nacimientos_listado.html'
- paginate_by = 10
- ordering = 'ano', 'tomo', 'folio'
- def get_context_data(self, **kwargs):
- # este context data permite trabajar la paginacion
- context = super(NacimientosView, self).get_context_data(**kwargs)
- # copiamos el get para la paginacion
- parametros = self.request.GET.copy()
- if 'page' in parametros:
- del parametros['page']
- context['parametros'] = parametros
- return context
- def get_queryset(self):
- # la funcion super() permite obtener el queryset del formulario
- # con este if selecciono el metodo por el cual me llega la info
- if self.request.method == 'GET':
- filtros4 = {}
- # tomamos cada una de las variables y las colocamos en el
- # diccionario filtros4 para filtrar al final con lo que llego
- if self.request.GET.get('tomo'):
- filtros4.update({"tomo__icontains":
- self.request.GET.get('tomo')})
- if self.request.GET.get('folio'):
- filtros4.update({"folio__icontains":
- self.request.GET.get('folio')})
- if self.request.GET.get('ano'):
- filtros4.update({"ano":
- self.request.GET.get('ano')})
- if self.request.GET.get('acta'):
- filtros4.update({"acta":
- self.request.GET.get('acta')})
- if self.request.GET.get('letra'):
- filtros4.update({"letra":
- self.request.GET.get('letra')})
- if self.request.GET.get('fechapre'):
- filtros4.update({"fechapre":
- self.request.GET.get('letra')})
- if self.request.GET.get('cedptte'):
- filtros4.update({"cedptte__icontains":
- self.request.GET.get('cedptte')})
- if self.request.GET.get('nomptte'):
- filtros4.update({"nomptte__icontains":
- self.request.GET.get('nomptte')})
- if self.request.GET.get('cedcony'):
- filtros4.update({"cedcony__icontains":
- self.request.GET.get('cedcony')})
- if self.request.GET.get('nomcony'):
- filtros4.update({"nomcony__icontains":
- self.request.GET.get('nomcony')})
- if self.request.GET.get('nombptdo'):
- filtros4.update({"nombptdo__icontains":
- self.request.GET.get('nombptdo')})
- qs = super().get_queryset()
- logging.info('Entrada a parametros')
- logging.debug(filtros4)
- # devolvemos el queryset filtrandolo con filtros4 y ordenandolo
- return qs.filter(**filtros4).order_by('ano', 'tomo', 'folio')
Advertisement
Add Comment
Please, Sign In to add comment