Domanda

Voglio fare una pagina archive_index per il mio sito Django. Tuttavia, il punto di vista generico su base cronologica in realtà non sono di alcun aiuto. Voglio che il dizionario restituito dalla fine di avere tutti gli anni ei mesi per i quali esiste almeno un'istanza del tipo di oggetto. Quindi, se il mio blog è iniziato nel settembre 2007, ma non c'erano posti nel mese di aprile 2008, ho potuto ottenere qualcosa di simile

2009 - Jan, Feb, Mar
2008 - Jan, Feb, Mar, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
2007 - Sep, Oct, Nov, Dec
È stato utile?

Soluzione

Questo vi darà un elenco di date distacco uniche:

Posts.objects.filter(draft=False).dates('post_date','month',order='DESC')

Naturalmente non potrebbe essere necessario il progetto del filtro, e il cambiamento 'POST_DATE' al nome del campo, ecc.

Altri suggerimenti

ho trovato la risposta alla mia domanda.

E 'in questa pagina nella documentazione.

C'è una funzione chiamata date che vi darà date distinte. Così posso fare

Entry.objects.dates ( 'pub_date', 'mese') per ottenere una lista di oggetti datetime, uno per ogni anno / mese.

Si dovrebbe essere in grado di ottenere tutte le informazioni che descrivono dalle viste incorporati. Puoi essere più preciso su ciò che non si può ottenere? Questo dovrebbe avere tutto il necessario:

django.views.generic.date_based.archive_month

Pagina di riferimento (cercare la stringa di cui sopra in quella pagina)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top