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
¿Fue útil?

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)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top