अपडेट :
गैरेथ रीस सही थे कि इस मामले में बिंदु 1 और 3 मान्य नहीं थे। हालांकि मुझे लगता है कि बिंदु 2 और 4 अभी भी मान्य हैं, इसलिए मैं यहां शोध छोड़ दूंगा।
(मैंने देखा कि request.POST
पिरामिड (तोरण) और Django दोनों का उद्देश्य कुछ रूप है MultiDict
। इसलिए शायद यह request.POST
अपरिवर्तनीय बनाने की तुलना में अधिक सामान्य अभ्यास है । "
मैं Django के लोगों के लिए नहीं बोल सकता, हालांकि मुझे लगता है कि यह इन कारणों में से कुछ के कारण हो सकता है:
प्रदर्शन । अपरिवर्तनीय वस्तुएं उन लोगों के बीच "अधिक तेज़" होती हैं, जिनमें वे पर्याप्त अनुकूलन की अनुमति देते हैं। एक ऑब्जेक्ट अपरिवर्तनीय है इसका मतलब है कि हम निर्माण समय पर इसके लिए जगह आवंटित कर सकते हैं , और अंतरिक्ष आवश्यकताओं को नहीं बदल रहे हैं। इसमें कॉपी दक्षता और तुलनात्मक दक्षता जैसी चीजें भी हैं।
संपादित करें : यहQueryDict
गैरेथ रीस ने बताया कि ऐसा नहीं है।
- के मामले में
request.POST
, ऐसा लगता है कि सर्वर साइड में किसी भी गतिविधि को अनुरोध के डेटा को बदलने की आवश्यकता नहीं है । और इसलिए अपरिवर्तनीय वस्तुएं अधिक अनुकूल हैं, यह उल्लेख करने के लिए नहीं कि उनके पास पर्याप्त प्रदर्शन लाभ है।
अपरिवर्तनीय वस्तुओं को dict
कुंजियों के रूप में इस्तेमाल किया जा सकता है , जो मुझे लगता है कि Django में कहीं बहुत उपयोगी हो सकता है ..
संपादित करें : मेरी गलती, अपरिवर्तनीय सीधे धोने योग्य नहीं है ; हालांकि, धुलाई योग्य वस्तुएं आमतौर पर अपरिवर्तनीय होती हैं ।
- जब आप
request.POST
(विशेषकर थर्ड-पार्टी प्लग इन और आउट) पास होते हैं, तो आप उम्मीद कर सकते हैं कि उपयोगकर्ता की यह अनुरोध वस्तु अपरिवर्तित रहेगी।
किसी तरह से ये कारण "अपरिवर्तनीय बनाम उत्परिवर्तनीय" के सामान्य उत्तर भी हैं। सवाल। मुझे यकीन है कि Django मामले में ऊपर की तुलना में बहुत अधिक डिजाइन विचार हैं।
request.POST
वास्तव में जितना डेटा है उससे अधिक डेटा के साथ प्रस्तुत किया गया है।