2013-01-23 16 views
6

मैं Django और MongoDB (मॉडल के रूप में) का उपयोग करने वाले एप्लिकेशन पर काम कर रहा हूं। मैं एक फॉर्म से प्राप्त डेटा का उपयोग कर, एक मॉडल ऑब्जेक्ट (हाथ से दूसरे सर्वर पर भेजने के लिए) शुरू करने की कोशिश कर रहा हूं। मॉडल इस तरह दिखता है:जेएसओएन त्रुटि के लिए Django serialization: 'मेटाडिक्ट' ऑब्जेक्ट में कोई विशेषता नहीं है 'concrete_model'

pilot_object = MyModel() 
pilot_object.individual_name = self.data['individual_name'] 
pilot_object.study_name = self.data['study_name'] 
pilot_object.file_list = files_list #file paths (strings) 

जहां self.data डेटा प्रपत्र प्राप्त हुई है:

class MyModel(DynamicDocument): 
    study_name = StringField(default="first study") 
    individual_name = StringField(default="individual") 
    file_list = ListField(StringField) # this is a list of paths to some files 

रूप में मैं निम्नलिखित कर रहा हूं। अब मैं दस्तावेज़ में वर्णित इस वस्तु (pilot_object) JSON के क्रमानुसार करने हैं:

data_serialized = serializers.serialize('json', [pilot_object, ]) 

लेकिन मैं इस त्रुटि मिलती है:

'MetaDict' ऑब्जेक्ट कोई विशेषता 'concrete_model'

है

और क्रमबद्धता विफल हो जाती है।

क्या कोई मदद कर सकता है?

+1

मुझे एक ही समस्या है, और पता चला है कि ऐसा इसलिए है क्योंकि मैं मोंगोइंजिन का उपयोग कर रहा हूं जिसमें अलग-अलग QuerySet ऑब्जेक्ट्स हैं। यहां दस्तावेज़ीकरण: http: //docs.mongoengine.org/en/latest/apireference.html#mongoengine.queryset.QuerySet –

+0

क्या आपको कोई समाधान मिला है? – Rahman

+0

नहीं, और मैंने हाल ही में एक समाधान की तलाश बंद कर दी। :( – Clara

उत्तर

0

यह कारण है कि आप django के पुराने संस्करण का उपयोग कर रहे हैं। 1.3 और 1.4, concrete_model के बीच अंतर केवल 1.4 और उच्चतम के लिए उपलब्ध है।

+4

मैं Django 1.6b4 (वर्तमान में उपलब्ध बीटा वर्तमान में उपलब्ध) का उपयोग कर रहा हूं और एक ही समस्या में चला गया है। कोई सुझाव? – Kurtis

+0

मैं 1.5.5 का उपयोग कर रहा हूं और अभी भी यह त्रुटि है। – crizzwald

+0

मैं वही कर रहा हूं Django 1.7.8 के साथ मुद्दा :( –

0

यदि आपके पास मेटा {विरासत: सत्य} है तो इसे हटा दें। यह कंक्रीट क्लास की तलाश में है जो मुझे लगता है कि आपने डिज़ाइन किया है इसलिए विरासत को किसी भी तरह से सच होने की आवश्यकता नहीं है। यह मेरे लिए काम किया।

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

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