मैं मॉडल डेटा लिखने के लिए की जरूरत है (CharField
केवल एस) एक फ्लैश फ़ाइल के लिए डेटा शामिल होने की। मैं इसके लिए नया हूं, और प्रक्रिया django में ऐसा करने के लिए मेरे लिए थोड़ा अस्पष्ट है। मैं एक एक्सएमएल फ़ाइल बना रहा हूं, और फिर फ़ाइल में टेक्स्ट डेटा लिख रहा हूं (जैसा कि सीएसवी मॉड्यूल के साथ किया गया है, लेकिन एक्सएमएल के लिए)। के लिए फ्लैश फ़ाइल को पढ़ने के लिए एक बहुत ही सरल xml फ़ाइल, परिणाम यानी चाहिए:किसी XML फ़ाइल में मॉडल डेटा से एक्सएमएल फ़ाइल उत्पन्न
from django.core import serializers
data = serializers.serialize('xml', myModel.objects.filter(instanceIwantTowrite), fields=('fieldName'))
2. मैं तो:
<?xml version="1.0" encoding="UTF-8"?>
<textFields>
<textField id="0" text="HELLO WORLD" />
<textField id="1" text="HELLO EARTH" />
...
</textFields>
1. मैं मॉडल से xml डेटा लिखने के लिए एक serializer उपयोग कर रहा हूँ core.files
का उपयोग कर फ़ाइल बनाने:
from django.core.files import File
f = open('/path/to/new/dir/content.xml', 'w')
myfile = File(f)
3. लिखें फ़ाइल डेटा और करीब:
myfile.write(data)
myfile.close()
यह अब तक काम करता है, हालांकि एक्सएमएल उत्पादन वस्तु "Django-वस्तुओं" आदि के लिए फ़ील्ड मौजूद है, और मैं अगर मैं फ्लैश फ़ाइल के लिए आसानी से ActionScript में इस व्याख्या कर सकते हैं देखने के लिए होगा। मैं csv मॉड्यूल में मैन्युअल रूप से xml फ़ील्ड नामों को परिभाषित करना पसंद करूंगा। जैसा कि मैं django और पायथन के लिए नया हूँ, मैं सोच रहा हूं कि ऐसा करने के लिए एक आसान, आसान तरीका है?
नोट: serializer में मैं क्योंकि मॉडल उदाहरण के लिए get
का उपयोग कर मॉडल वस्तुओं पर फिल्टर का उपयोग एक object not iterable
त्रुटि देता है। असल में मैं एक उदाहरण प्राप्त करने के लिए इसे दो बार फ़िल्टर करता हूं, ऐसा लगता है कि एक बेहतर तरीका होना चाहिए।
मैं आपके इच्छित XML प्रारूप के बारे में स्पष्ट नहीं हूं। क्या एक 'textField' तत्व डेटाबेस में एक पंक्ति के बराबर है, प्रत्येक एक फ़ील्ड के साथ? यदि ऐसा है तो 'आईडी' संख्या क्या है? यदि नहीं, तो आप पंक्तियों के बीच अंतर कैसे कर रहे हैं? –
इसके अलावा, क्या आपने JSON को क्रमबद्ध प्रारूप के रूप में माना है? निर्माण और उपभोग दोनों के लिए यह बहुत आसान है। –
हां, टेक्स्टफिल्ड डीबी में एक एकल चार्फिल्ड प्रविष्टि होगी (प्रत्येक डीबी प्रविष्टि फ़ील्ड फ़्लैश फ़ाइल में टेक्स्टफील्ड भरने के लिए)। क्षमा करें कि आईडी थोड़ा उलझन में था, विचार यह है कि फ़्लैश फ़ाइल में कई टेक्स्टफील्ड हैं, इसलिए आईडी मॉडल में विभिन्न charFields के अनुरूप है। वे अलग मॉडल charFields होना चाहिए। मैं अब JSON में देख रहा हूं, आम तौर पर मैंने एएस 3 के साथ एक्सएमएल का इस्तेमाल किया है, ऐसा लगता है कि जेएसओएन को एएस 3 लाइब्रेरी आयात की आवश्यकता होगी, और इस ऐप के लिए दुर्भाग्यवश यह विकल्प नहीं है। – HdN8