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

WHERE क्लॉज के हिस्से के रूप में मैं एक सबक्वायरी के साथ Django क्वेरी कैसे लिखूं?

सबक्वेरी ऐसे प्रश्नों की आवश्यकता है जिनका तुरंत मूल्यांकन नहीं किया जाता है ताकि बाहरी क्वेरी चलने तक उनका मूल्यांकन स्थगित किया जा सके। get() बिल में फिट नहीं है क्योंकि इसे तुरंत निष्पादित किया जाता है और Queryset . के बजाय ऑब्जेक्ट इंस्टेंस देता है ।

हालांकि, filter . को प्रतिस्थापित करना get . के लिए और फिर एक [:1] taking लेना टुकड़ा काम करना चाहिए:

StatByHour.objects.filter(hour_of_day=OuterRef('hour_filter')).values('hour_of_day')[:1]

नोट करें कि OuterRef<में फ़ील्ड संदर्भ कैसे होता है /ए> एक चर के बजाय एक स्ट्रिंग शाब्दिक है।

इसके अलावा, उपश्रेणियों को एक एकल स्तंभ और एक पंक्ति (जैसा कि वे एक ही फ़ील्ड को सौंपा गया है) को वापस करने की आवश्यकता है, इसलिए values() और ऊपर का टुकड़ा।

साथ ही, मैंने Q . में सबक्वेरी का उपयोग नहीं किया है अभी तक वस्तु; मुझे यकीन नहीं है कि यह काम करेगा। आपको सबक्वायरी आउटपुट को पहले एक एनोटेशन में सहेजना पड़ सकता है और फिर अपने फ़िल्टर गणना के लिए उसका उपयोग करना पड़ सकता है।



  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. पोस्टग्रेज बिटमास्क में 1s की कुल संख्या

  3. क्या तालिका के कॉलम के माध्यम से गतिशील रूप से लूप करना संभव है?

  4. रेल Postgresql एकाधिक स्कीमा और एक ही तालिका का नाम

  5. PostgreSQL में विशिष्ट तालिकाओं को मिरर करें