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

183
Vistas
¿Hay una clasificación de modelo de vista de lista de Django?

Estoy usando ListView en mis vistas basadas en clases y me preguntaba si había alguna manera de mostrar el conjunto de objetos modelo en la plantilla ordenándolo. Esto es lo que tengo hasta ahora:

Mis puntos de vista:

 class Reviews(ListView): model = ProductReview paginate_by = 50 template_name = 'review_system/reviews.html'

El modelo ProductReview tiene un campo date_created . Me gustaría ordenar la fecha en orden descendente. ¿Cómo puedo conseguir esto?

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

0

Establezca el atributo de ordering para la vista.

 class Reviews(ListView): model = ProductReview paginate_by = 50 template_name = 'review_system/reviews.html' ordering = ['-date_created']

Si necesita cambiar el orden de forma dinámica, puede usar get_ordering en su lugar.

 class Reviews(ListView): ... def get_ordering(self): ordering = self.request.GET.get('ordering', '-date_created') # validate ordering here return ordering

Si siempre está ordenando un campo de fecha fija, es posible que le interese ArchiveIndexView .

 from django.views.generic.dates import ArchiveIndexView class Reviews(ArchiveIndexView): model = ProductReview paginate_by = 50 template_name = 'review_system/reviews.html' date_field = "date_created"

Tenga en cuenta que ArchiveIndexView no mostrará objetos con una fecha en el futuro a menos que establezca allow_future en True .

over 4 years ago · Santiago Trujillo Denunciar

0

¿Por qué no anulas el método get_queryset de esta manera?

 class Reviews(ListView): model = ProductReview paginate_by = 50 template_name = 'review_system/reviews.html' def get_queryset(self): return YourModel.objects.order_by('model_field_here')
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