मेरे पास इस तरह परिभाषित मॉडल है:
वर्ग UserDetail (models.Model): प्रयोक्ता = मॉडल। फ़ॉरइन्ज (उपयोगकर्ता, डीबी_ इंडैक्स = ट्रू, अनन्य = ट्रू, संबंधित_नाम = 'विवरण') पसंदीदा = मॉडल। कई सारे माईफिल्ड (अनुच्छेद, संबंधित_नाम = 'अनुग्रहित', रिक्त = सत्य)
और मैं ऐसा कुछ करने की कोशिश कर रहा हूं:
आलेख = get_object_or_404 (अनुच्छेद, pk = id) request.user.details.favourites.add (लेख)
पूर्व>यह काम क्यों नहीं कर रहा है?
मुझे यह त्रुटि मिल रही है:
'संबंधित प्रबंधक' ऑब्जेक्ट में कोई विशेषता नहीं है 'पसंदीदा'
मुझे लगता है कि
विवरण
सही प्रकार नहीं है, लेकिन ऐसा क्यों नहीं है? और मैं इस तरह से एक क्वेरी कैसे कर सकता हूं?
जब आप user.details तक पहुँचते हैं , यह
UserDetail.user
विदेशी कुंजी के backreference तक पहुँच जाता है। विदेशी कुंजी स्वयं यह निर्दिष्ट नहीं करती है कि एक उपयोगकर्ता
में केवल एक ही UserDetail
हो सकता है, इसलिए डीजेँगो आपको एक संबंधित प्रबंधक /
देता है, जिसे आप फ़िल्टर कर सकते हैं और एक नियमित प्रबंधक
की तरह क्वेरी तो आप ऐसा ही करते हैं कि आप अपने .objects
मैनेजर्स में करते हैं। आप user.details.all ()
, user.details.filter ()
, user.details.get ()
के लिए पूछ सकते हैं, और इसलिए, जो आपको विधि और परिणामों के आधार पर एक खोजता, एक ऑब्जेक्ट या अपवाद देगी।
No comments:
Post a Comment