2013-07-18 6 views
12

मैं बस घटनाओं की सूची से प्रत्येक व्यक्तिगत घटना को खींचने और उन पर कार्रवाई करने की कोशिश कर रहा हूं। कोड मैं वर्तमान में मेरे विचार में है:ManyRelatedManager Iterable नहीं है। सोचो कि मैं अपनी वस्तुओं को गलत तरीके से खींचने की कोशिश कर रहा हूं

user = request.user.get_profile() 
    followed = user.eventList 
    eL = [getEvent.getEvent(e_id) for e_id in followed] 

पहले, मैं हथियाने रहा हूँ वर्तमान में उपयोगकर्ता के प्रवेश, तो उसका eventList को देख, तो यह खत्म हो पुनरावृत्ति। मुझे उपरोक्त त्रुटि मिलती है। सोचो कि मुझे कुछ लाइन याद आ रही है?

+0

लेखन त्रुटि पर/'ManyRelatedManager' वस्तु iterable नहीं है। तीसरी पंक्ति – Xonal

उत्तर

26

eventList त्रुटि से मानने वाले कई क्षेत्रों में, आपको संबंधित वस्तुओं को प्राप्त करने के लिए .all() का उपयोग करने की आवश्यकता है। कई से अधिक फ़ील्ड एक प्रबंधक है, इसलिए आप इसे वास्तविक वस्तुओं को वापस करने वाले क्वेरीसेट बनाने के लिए उपयोग कर सकते हैं।

user = request.user.get_profile() 
eL = user.eventList.all() 
+0

पर होता है धन्यवाद, मुझे विश्वास नहीं है कि मुझे याद आया। – Xonal

+0

ऐसा लगता है कि prefetch_related आपको थोड़ा सा मदद कर सकता है, https://docs.djangoproject.com/en/1.5/ref/models/querysets/#prefetch-related देखें – Tom

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

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