मैं Django
में एक एप्लिकेशन पर काम कर रहा हूं। मैं MySQL
डीबी में कुछ डेटा संरचना e.g. dictionary
स्टोर करने की कोशिश कर रहा हूं। तो मैं पाइथन Pickle
मॉड्यूल का उपयोग करता हूं। यह ठीक काम करता है जब मैं इसे pickle.dumps(some_structure)
का उपयोग करके डीबी में संग्रहीत करता हूं। मेरा डीबी क्षेत्र longblob
मोड binary
है।Unpickling त्रुटि अमान्य लोड कुंजी, '{'
लेकिन जब मैं Django में मॉडल वस्तु के क्षेत्र का उपयोग:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
यह त्रुटि निम्न जन्म देती है:
UnpicklingError: invalid load key, '{'.
कृपया मेरी मदद करो, मैं गूगल की कोशिश की है, लेकिन यह मेरी मदद does'nt , एक समान Question भी है लेकिन यह मेरी समस्या से संबंधित नहीं है क्योंकि मैं डीबी में संग्रहीत कर रहा हूं।
मैं सुझाव दूंगा कि डेटाबेस में इसे स्टोर करने के लिए अपना डेटा चुनना इस बारे में जाने का सही तरीका नहीं है। आपको अपने डेटा को डेटाबेस में सही तरीके से स्टोर करना चाहिए, अपने डेटा को टेबल और फ़ील्ड में बदलना चाहिए। –
डेटा 'जटिल पदानुक्रम (नेस्टेड शब्दकोश) 'में है। मैं इसे टेबल और फ़ील्ड के रूप में सहेज नहीं सकता। डेटा कुछ प्रक्रिया का परिणाम है जिसे बाद में मुझे किसी अन्य 'व्यू' पर django में संसाधित करने की आवश्यकता होती है। –
फिर जेएसओएन शायद अचार की तुलना में बेहतर प्रारूप है। जेएसओएन क्रॉस-प्लेटफॉर्म है, जबकि अचार कार्यान्वयन-विशिष्ट है। –