मॉडल गुणों द्वारा Django क्वेरीसेट को फ़िल्टर करना
Django मॉडल पर क्वेरीज़ अक्सर पूर्वनिर्धारित फ़ील्ड मानों के आधार पर विशिष्ट उदाहरणों का चयन करने के लिए मानक फ़िल्टर का उपयोग करती हैं। हालाँकि, यदि आपको अपने मॉडल के भीतर परिभाषित कस्टम प्रॉपर्टी के आधार पर फ़िल्टर करने की आवश्यकता है तो क्या होगा? डेटाबेस स्तर पर, डेटा को कुशलतापूर्वक पुनर्प्राप्त करने के लिए उन्हें SQL कमांड में अनुवाद करना। ये फ़िल्टर सीधे आपके मॉडल के भीतर परिभाषित पायथन गुणों तक पहुंचने में सक्षम नहीं हैं। . दूसरी ओर, पायथन गुणों को उनके मूल्यों की गणना करने के लिए पायथन निष्पादन की आवश्यकता होती है। इन दोनों अवधारणाओं को मिलाने से अकुशल और संभावित रूप से त्रुटि-प्रवण प्रश्न उत्पन्न होंगे।
वैकल्पिक दृष्टिकोण
कस्टम गुणों के आधार पर फ़िल्टरिंग को समायोजित करने के लिए, मॉडल ऑब्जेक्ट को पायथन में लोड करने पर विचार करें और गुणों का मैन्युअल रूप से मूल्यांकन करना। हालांकि यह दृष्टिकोण कम कुशल हो सकता है, यह मॉडल-विशिष्ट तर्क या गतिशील रूप से गणना किए गए मानों द्वारा फ़िल्टर करने में अधिक लचीलापन प्रदान करता है।
उदाहरण उपयोग
एक मॉडल संपत्ति द्वारा फ़िल्टर करने के लिए , आप निम्नलिखित दृष्टिकोण का उपयोग कर सकते हैं:
# मॉडल ऑब्जेक्ट लोड करें my_models = MyModel.objects.all() # संपत्ति के आधार पर फ़िल्टर करें फ़िल्टर_मॉडल = [my_models में मॉडल के लिए मॉडल यदि model.myproperty == [..]]
याद रखें कि इस विधि में सभी मॉडल इंस्टेंस को पायथन में पुनर्प्राप्त करना और बाद में उन्हें फ़िल्टर करना शामिल है, जो बड़े डेटासेट के लिए कम कुशल हो सकता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3