2013-09-06 5 views

उत्तर

9

यह django के व्यवस्थापक खंड के संदर्भ में है।

मॉडल से संबंधित व्यवस्थापक अनुभाग में, प्रत्येक मॉडल में list_display नामक एक संपत्ति होती है, जो नियंत्रित करता है कि व्यवस्थापक के परिवर्तन सूची (सभी ऑब्जेक्ट्स की सूची डिस्प्ले) पृष्ठ पर कौन से फ़ील्ड प्रदर्शित होते हैं।

अब, list_display में was_published_recently के लिए डिफ़ॉल्ट सॉर्ट ऑर्डर को बदलना चाहते हैं तो आप admin_order_field विशेषता सेट करके ऐसा कर सकते हैं।

तो, उदाहरण में:

class Poll(models.Model): 
    # ... 
    def was_published_recently(self): 
     return self.pub_date >= timezone.now() - datetime.timedelta(days=1) 
    was_published_recently.admin_order_field = 'pub_date' 
    was_published_recently.boolean = True 
    was_published_recently.short_description = 'Published recently?' 

आप was_published_recently नामक एक कस्टम स्तंभ जोड़ने और सॉर्ट क्रम जब स्तंभ was_published_recently के लिए "प्रकार" विकल्प क्लिक किया जाता है डेटाबेस क्षेत्र pub_date होना करने के लिए निर्दिष्ट करते हैं।

आप this link

+1

इस उत्तर लगभग पूर्ण है में admin_order_field से संबंधित जानकारी के लिए नीचे स्क्रॉल करके इस बेहतर समझ सकते हैं, लेकिन कोड आप उद्धृत क्या नहीं 'was_published_recently' के लिए कस्टम स्तंभ बनाता है। कोड 'PollAdmin' श्रेणी के तहत' चुनाव/admin.py' में है जो कोड है। यह पंक्ति है: 'list_display = (' question ',' pub_date ',' was_published_recently ') '। आपके द्वारा दिखाया गया कोड ('poll/models.py' से) उस कॉलम की डिफ़ॉल्ट स्थिति को संशोधित करता है। – liquidki

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