Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Inversión de resultados para la página actual (vista genérica del paginador django)

Estoy usando el paginador django estándar en mi vista genérica como esta:

 def get_context_data(self, **kwargs): context = super(ArchivePagedView, self).get_context_data(**kwargs) article_list = Article.published #===================================== paginator = Paginator(article_list, self.paginate_by) page = self.request.GET.get('page') try: article_list = paginator.page(page) except PageNotAnInteger: article_list = paginator.page(1) except EmptyPage: article_list = paginator.page(paginator.num_pages) if 'reverse' in self.request.GET: article_list = article_list.reverse() #This doesn't work! else: article_list = article_list.all() context['article_list'] = article_list return context

Como puede ver, quiero anular article_list con la misma lista, pero en dirección inversa, si reverse está en la URL detrás del signo de interrogación. Esa información la obtengo 'reverse' in self.request.GET . Pero aparece un error: AttributeError: 'Page' object has no attribute 'reverse' . ¿Cómo revierto esto? (No quiero tener código duplicado en mi plantilla).

Antes de arreglar esto, hice una variable de context adicional ( context['reverse'] ) que dice si la lista debe invertirse o no, y luego utilicé un código duplicado como este:

 {% if reverse %} {% for article in article_list reversed %} ... some code {% endfor %} {% else %} {% for article in article_list %} ... the same code {% endfor %} {% endif %}

Me pregunto si no había una solución mejor.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Prueba esto

 article_list.object_list = list(reversed(article_list.object_list))
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda