Seleccionar años y meses para Distintos Django Archivo de Deportes
-
21-08-2019 - |
Pregunta
Quiero hacer una página de mi sitio archive_index Django. Sin embargo, las vistas genéricas basadas en fechas realmente no son ninguna ayuda. Quiero que el diccionario devuelto por el fin de tener todos los años y meses para los que existe al menos una instancia del tipo de objeto. Así que si mi blog comenzó en septiembre de 2007, pero no hubo mensajes en abril de 2008, que podría conseguir algo como esto
2009 - Jan, Feb, Mar 2008 - Jan, Feb, Mar, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec 2007 - Sep, Oct, Nov, Dec
Solución
Esto le dará una lista de fechas de publicación de anuncios únicos:
Posts.objects.filter(draft=False).dates('post_date','month',order='DESC')
Por supuesto que no puede ser que necesite el proyecto de filtro, y el cambio 'post_date' a tu nombre de campo, etc.
Otros consejos
He encontrado la respuesta a mi propia pregunta.
Es en esta página en la documentación.
Hay una función llamada fechas que le dará fechas distintas. Por lo que puedo hacer
Entry.objects.dates ( 'pub_date', 'mes') para obtener una lista de los objetos de fecha y hora, una para cada año / mes.
Usted debe ser capaz de obtener toda la información que describe desde el punto de vista incorporados. ¿Puede ser más específico en cuanto a lo que no se puede conseguir? Esto debería tener todo lo que necesita:
django.views.generic.date_based.archive_month
Página de referencia (buscar la cadena por encima de esa página)