2009-03-24 21 views
9

私のdjangoサイトのarchive_indexページを作成します。しかし、日付に基づくジェネリックビューは実際には役に立ちません。ビューから返された辞書に、少なくとも1つのオブジェクト型のインスタンスが存在するすべての年月が必要です。私のブログは、2007年9月に始まったが、2008年4月にはポストがなかったのであれば、私はあなたが内蔵されたビューから説明し、すべての情報を得ることができる必要があります。このDjangoアーカイブのためのDistinct Years and Monthsを選択してください。

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

答えて

33

:これはあなたが必要なすべてを持っている必要があります。もちろん、

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

を、あなたはフィルタをドラフトする必要はないかもしれませんし、フィールド名などに 'post_date'を変更してください。

+3

'DateTimeField'を持っている人にとっては、単に' .datetimes(...) 'です。 – Pureferret

1

のようなものを得ることができます。あなたが得ることができないものについてもっと具体的にすることはできますか?これはあなたのユニークな投稿日付のリストを提供します

django.views.generic.date_based.archive_month 

Reference page(そのページの上の文字列を検索)

+0

いいえ、これはその月の実際のオブジェクトを示します。私はオブジェクトを望んでいません。私は別々の月と年を望むだけです。 – Apreche

10

私自身の質問に対する答えが見つかりました。

It's on this pageです。

あなたには異なる日付を与える日付という関数があります。だから私はすることができます

Entry.objects.dates( 'pub_date'、 'month')年/月ごとのdatetimeオブジェクトのリストを取得します。

+0

あなた自身の質問に答えるのは面白いです。私はあなたの発見を元の投稿にも追加します。 –

関連する問題