2009-03-24 8 views
9

मैं अपने django साइट के लिए archive_index पृष्ठ बनाना चाहता हूं। हालांकि, तिथि-आधारित जेनेरिक विचार वास्तव में कोई मदद नहीं कर रहे हैं। मैं चाहता हूं कि व्यू द्वारा सभी वर्षों और महीनों के लिए शब्दकोश वापस लौटाया जाए जिसके लिए ऑब्जेक्ट प्रकार का कम से कम एक उदाहरण मौजूद है। बिल्ट-इन विचारों तो मेरे ब्लॉग सितंबर 2007 में शुरू कर दिया है, लेकिन वहाँ अप्रैल 2008 में कोई पोस्ट कर रहे थे, तो, मैं इसDjango पुरालेख के लिए अलग-अलग वर्ष और महीनों का चयन करें पृष्ठ

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

किसी भी व्यक्ति के लिए जिसकी 'डेटटाइमफ़िल्ल्ड' है, वह बस '.डेटाइम (...)' है। – 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') डेटाटाइम ऑब्जेक्ट्स की एक सूची प्राप्त करने के लिए, प्रत्येक वर्ष/माह के लिए एक कर सकता हूं।

+0

यह मजेदार है कि आप अपने खुद के प्रश्न का उत्तर दे सकते हैं। मैं आपके निष्कर्षों को आपकी मूल पोस्ट में भी जोड़ दूंगा। –

संबंधित मुद्दे