"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > `select_related` का उपयोग करके Django में इनर जॉइन कैसे करें?

`select_related` का उपयोग करके Django में इनर जॉइन कैसे करें?

2024-11-04 को प्रकाशित
ब्राउज़ करें:961

How to Perform an Inner Join in Django Using `select_related`?

Django में इनर जॉइन कैसे निष्पादित करें

अपने Django एप्लिकेशन में एकाधिक तालिकाओं से इंटरकनेक्टेड डेटा प्रदर्शित करने के लिए, आपको आवश्यकता का सामना करना पड़ सकता है आंतरिक जुड़ाव ऑपरेशन करने के लिए। चयन_संबंधित पद्धति का लाभ उठाकर, आप इसे आसानी से प्राप्त कर सकते हैं।

निम्नलिखित परिदृश्य पर विचार करें: आप एक HTML टेम्पलेट में किसी प्रकाशन के शहर, राज्य और देश के नाम प्रदर्शित करना चाहते हैं। हालाँकि, ये विवरण अलग-अलग तालिकाओं में संग्रहीत हैं। इनर जॉइन का उपयोग करके इस जानकारी को पुनः प्राप्त करने के लिए, आप निम्नानुसार चयन_संबंधित विधि का उपयोग कर सकते हैं:

pubs = publication.objects.select_related('country', 'country_state', 'city')

यह क्वेरी निम्नलिखित के समान एक SQL कथन उत्पन्न करेगी:

SELECT "publication"."id", "publication"."title", ..., "country"."country_name", ...  
FROM "publication" 
INNER JOIN "country" ON ( "publication"."country_id" = "country"."id" ) 
INNER JOIN "countrystate" ON ( "publication"."countrystate_id" = "countrystate"."id" ) 
INNER JOIN "city" ON ( "publication"."city_id" = "city"."id" ) 

पुनर्प्राप्त मान स्वचालित रूप से ओआरएम मॉडल उदाहरणों में परिवर्तित हो जाएंगे। यह आपको एक लूप के भीतर उनके संबंधित ऑब्जेक्ट के माध्यम से संबंधित तालिका मानों तक पहुंचने की अनुमति देता है, जैसा कि नीचे दिखाया गया है:

{% for p in pubs %}
     {{ p.city.city_name}}  # p.city has been populated in the initial query
     # ...
{% endfor %}

इस तकनीक को नियोजित करके, आप कुशलतापूर्वक कई तालिकाओं से डेटा प्राप्त कर सकते हैं और अपने HTML टेम्पलेट्स में इंटरकनेक्टेड जानकारी प्रस्तुत कर सकते हैं, जबकि पूर्व-चयनित फॉरवर्ड संबंधों के लिए अतिरिक्त डेटाबेस हिट से बच सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3