PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्वेरीसेट सॉर्टिंग:django ORM क्वेरी के लिए कॉलम कॉलेशन निर्दिष्ट करना

चूंकि Django 1.8 order_by() न केवल फ़ील्ड नामों को स्वीकार करता है बल्कि क्वेरी एक्सप्रेशन

एक अन्य उत्तर में मैंने एक उदाहरण दिया कि आप कॉलम के लिए डिफ़ॉल्ट संयोजन को कैसे ओवरराइड कर सकते हैं। यहां उपयोगी क्वेरी एक्सप्रेशन है Func() , जिसे आप सीधे उपवर्ग या उपयोग कर सकते हैं:

nimi_et = Func(
    'nimi',
    function='et_EE',
    template='(%(expressions)s) COLLATE "%(function)s"')
Test.objects.order_by(nimi_et.asc())

फिर भी, ध्यान दें कि परिणामी SQL अधिक पसंद किया जाएगा:

SELECT nimi FROM test ORDER BY nimi COLLATE "et_EE" ASC;

यानी, ORDER BY . में संयोजन को ओवरराइड किया गया है खंड के बजाय SELECT खंड। हालांकि, अगर आपको इसे WHERE . में उपयोग करने की आवश्यकता है खंड, आप उपयोग कर सकते हैं Func() annotate() में ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेएसक्यूएल डेटा को इलास्टिकसर्च के साथ सिंक करें

  2. पूर्णांक को सीरियल में कैसे बदलें

  3. अजवाइन कार्य अजगर के साथ postgresql डेटाबेस से कई पंक्तियों पर पुनरावृति करने में असमर्थ

  4. पोस्टग्रेज में फ़ील्ड का डेटाटाइप चुनें

  5. pgsql के लिए SSL समर्थन सक्षम करें