Sunday, 15 January 2012

python - Change Django alphabetical ordering to custom ordering -


मैंने एक मॉडल आरक्षण और मेरा कोड ( models.py ) कुछ ऐसा दिखता है:

  # विकल्प STATUS_CHOICES = (('अनुमोदित', 'स्वीकृत'), ('लंबित', 'लंबित'), ('रद्द', 'रद्द ')) # आरक्षण मॉडल वर्ग आरक्षण (models.Model): क्लास मेटा: ऑर्डरिंग = [' -स्टैटस '] स्थिति = मॉडल। सीएचएफ़िल्ड (विकल्प = STATUS_CHOICES, डिफ़ॉल्ट =' लंबित ', अधिकतम_लाँग = 25)  <  
  • स्वीकृत
  • रद्द
  • लेकिन मेरा वर्तमान क्रम है:

    1. लंबित
    2. रद्द
    3. स्वीकृत

    ऐसा लगता है Django मेरे ऑब्जेक्ट्स को वर्णानुक्रम में क्रम दे रहा है

    मैं ऊपर वर्णित एक के लिए वर्णमाला क्रम कैसे बदल सकता हूँ?

    धन्यवाद!

  • आप स्थिति को IntegerField में बदल सकते हैं, और तीन राज्यों के लिए स्थिरांक निर्धारित कर सकते हैं। तब 'स्टेटस' द्वारा सॉर्ट करना चाहिए जो आप चाहते हैं।

      लंबित = 1 अनुमोदित = 2 रद्द किया गया है = 3 STATUS_CHOICES = (अनुमोदित, 'स्वीकृत'), (लंबित, 'लंबित'), ( रद्द करें, 'रद्द कर दिया गया है))  

    या आप एक sort_order के साथ एक स्थिति विकल्प मॉडल बना सकते हैं। नए मॉडल के लिए reservation.status बनाओ और status__sort_order के अनुसार क्रमबद्ध करें।

    एक अन्य विकल्प एसक्यूएल में < कोड> ऑर्डर_बी पैरामीटर इन।


    No comments:

    Post a Comment