How can I use Flex to access foreign-keyed fields in Django? -


मेरे पास निम्न Django और Flex कोड है:

Django

  वर्ग लेखक (models.Model): name = models.CharField (max_length = 30) वर्ग बुक (models.Model): title = models.CharField (max_length = 30) author = models.ForeignKeyField ( लेखक)  

फ्लेक्स

  पैकेज com.myproject.models.vo {[बिंदेबल] [रिमोटक्लास (उर्फ = "myproject .models.Book ")] सार्वजनिक वर्ग BookVO {सार्वजनिक var id: int; सार्वजनिक वरीयता शीर्षक: स्ट्रिंग; सार्वजनिक वरीयता लेखक: लेखक वीओ; }}  

जैसा कि आप इस उदाहरण में देख सकते हैं, लेखक मेरे बुक मॉडल में एक विदेशी कुंजी है। अब जब मैं फ्लेक्स में मेरी बुकवॉ को कॉल करता हूं, तो मैं लेखक के नाम पर कार्रवाई करना चाहता हूं। जैसे, मुझे उम्मीद है कि काम करने के लिए निम्न कोड की तरह होगा, लेकिन "author_name" परिणाम किसी रिक्त में होता है:

  var book = new BookVO (); Var author_name = book.author.name;  

मुझे पता है कि मैं सीधे एक लेखक को कॉल कर सकता हूं, लेकिन इस सवाल का जड़ है कि जब आपके वीओ एक रिमोट ऑब्जेक्ट के लिए बाध्य हैं, तो आप फ्लेक्स का उपयोग करके विदेशी कुंजी वाले मानों को कैसे प्राप्त कर सकते हैं? मैं वर्तमान में फ्लेक्स और Django के बीच की खाई को पाटने के लिए पीएएमएफएफ का उपयोग कर रहा हूं, लेकिन मुझे यकीन नहीं है कि यह प्रासंगिक है।

itemprop = "text">

ठीक है, यह एक उदाहरण है ...

मॉडल:

  वर्ग लकड़हारा (मॉडल। मॉडल): lname = models.CharField (max_length = 80) def __unicode__ (स्वयं): रिटर्न self.lname # # classDesource (models.Model): dsname = models.CharField (max_length = 80) def __unicode __ (स्वयं): रिटर्न self.dsname # # class लॉगेडएवेंट (models.Model): # कौन है यह डेटा है? कौन = मॉडल। फ़ेयरिगेके (लकड़हारा) # क्या स्रोत? स्रोत = मॉडेल। फ़ॉरइन्गकी (डेटासॉर्स) # दिन (और, कुछ घटनाओं के लिए भी समय) जब = मॉडल.डेटाइमफिल्ड () # घटना का शाब्दिक वर्णन, अक्सर कच्चे डेटा क्या है = मॉडल। धरफिल्ड (max_length = 200) # से -1.0 से 1.0 तक यह इवेंट वजन = मॉडल का रिश्तेदार # महत्व है। फ्लोटफ़ील्ड () def __unicode __ (स्व): वापसी "% 2.2f% s:% s -% s"% (स्व। वजन, स्व .source, self.who, self.what) # #  

यहाँ मेरा amfgateway.py

  def fetch_events (अनुरोध, स्रोत): events = loggedged .objects.select_related ()। सभी () रिटर्न इवेंट # सेवाओं = {'recall.fetch_events': fetch_events,} गेटवे = DjangoGateway (सेवाओं)  

और यहां प्राप्त पक्ष के लिए मेरी एक्शन स्क्रिप्ट है एएमएफ कॉल की:

<पूर्व> प्राप्त किए गए पुनर्प्राप्ति पर सक्रिय फ़ंक्शन (परिणाम: ऑब्जेक्ट): शून्य {प्रत्येक (var evt: परिणाम में ऑब्जेक्ट) {var जो: ऑब्जेक्ट = evt._who_cache.lname; ...

evt._who_cache.lname को select_related () के साथ पॉपुलेटेड किया गया है और जब संबंधित से संबंधित अनुपलब्ध है। यदि मुझे select_related () कॉल से छुटकारा मिल जाता है, तो मुझे त्रुटि दिखाई दे रही है:

  TypeError: त्रुटि # 1010: कोई शब्द अनिर्धारित है और इसमें कोई गुण नहीं है  

आपको अपने रिमोटक्लास के साथ एक अलग तकनीक की कोशिश करनी चाहिए ... तो select_related समस्या बिल्कुल भी नहीं हो सकती है ... (अन्यथा मेरा पहला जवाब negged नहीं होता।) बाकी आप पर निर्भर है।


Comments