2010-07-08 14 views
6

अनिवार्य रूप से मैं कुछ डेटा को एक रूप में सबमिट करना चाहता हूं जब कोई त्रुटि हो तो मैं इसे फिर से चलाता हूं। अगर मैं किसी फॉर्म ऑब्जेक्ट से डेटा निकाल रहा हूं तो यह करना आसान है। मैं साफ() विधि को ओवरराइड कर सकता हूं और डेटा में हेरफेर कर सकता हूं। मैं पहली बार प्रदर्शित होने के लिए प्रारंभिक मान भी सेट कर सकता हूं। हालांकि, मुझे त्रुटि डेटा को फिर से चलाने के लिए जा रहे फॉर्म डेटा में हेरफेर करने का कोई तरीका नहीं मिल रहा है। उदाहरण के लिए, कहें कि उपयोगकर्ता "123 456 टेस्ट टेस्ट 78 9 0" का फ़ोन नंबर सबमिट करता है, मैं गैर-अल्फान्यूमेरिक वर्णों को बाहर निकालने में सक्षम होना चाहता हूं (यह आसान है) और उन्हें फॉर्म फ़ील्ड में केवल "1234567890" नंबर दिखाएं ।फॉर्म ऑब्जेक्ट का उपयोग करके सबमिट किए गए फॉर्म डेटा का मूल्य कैसे बदलूं और इसे फिर से चलाएं?

उत्तर

18

फ़ॉर्म का डेटा आना चाहिए यह data चर, जो एक शब्दकोश हो, तो जैसे प्रयास करने के लिए माना जाता है है से। self.data['phone_numer'] = 123456789 की स्थापना!

लेकिन अगर डेटा (एक अनुरोध से आ रही है मामले मैं हो जाएगा जो अनुमान) dictonary एक QueryDict होगा, जिसे अपरिवर्तनीय माना जाता है, इसलिए इसे पहले कॉपी करें:

self.data = self.data.copy() 
self.data['phone_number'] = 1234567890 
+0

आप एन धन्यवाद, धन्यवाद। – stinkypyper

संबंधित मुद्दे