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

Django ORM टुपल्स / लेक्सिकोग्राफिक ऑर्डरिंग की तुलना करें

नीचे एक तरीका है जो annotate . का उपयोग करके Django प्री 3.2 में काम करता है (जिसे दुर्भाग्य से output_field . सेट करने की थोड़ी सी हैक की भी आवश्यकता होती है , भले ही मान का उपयोग न किया गया हो).

from django.db.models import F, Func, TextField

col_a_col_b = Func(F('col_a'), F('col_b'), function='ROW', output_type=TextField())
col_a_col_b_from = Func(col_a_value, col_b_value, function='ROW')

filtered_queryset = queryset \
    .annotate(col_a_col_b=col_a_col_b) \
    .filter(col_a_col_b__gt=col_a_col_b_from) \
    .order_by('col_a', 'col_b')

Django 3.2+ में आप स्पष्ट रूप से alias . का उपयोग कर सकते हैं annotate . के बजाय

यह काम करता है क्योंकि जिसे टपल कहा जाता है, वास्तव में पंक्ति निर्माता , यानी (col_a, col_b) ROW(col_a, col_b) . जैसा ही है

उपरोक्त इस टिकट में दी गई जानकारी पर आधारित है




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT पर दैनिक चलती औसत अद्यतन करने के लिए SQL ट्रिगर फ़ंक्शन

  2. क्या SQL सर्वर प्रोफाइलर के बराबर PostgreSQL है?

  3. Ubuntu 18.04 पर PostgreSQL स्थापित करें

  4. PostgresSql 9.6 हटाना अचानक धीमा हो गया

  5. मैक ओएस एक्स (10.9.4) में 'PHP' मेक को कैसे ठीक करें?