मुझे पता है कि यह सीधा होना चाहिए, लेकिन कुछ कारणों से मुझे वांछित परिणाम नहीं मिल रहे हैं।
यह निर्देश: {{user.profile.role.all}}
मेरे Django टेम्पलेट में इसे आउटपुट करता है:
<QuerySet [<Role: Creator>, <Role: Performer>, <Role: Venue>]>
मैं यह जांचना चाहता हूं कि इस क्वेरीसेट में कोई भूमिका है या नहीं; इसलिए, उदाहरण के लिए, यदि मैं यह जांचना चाहता हूं कि कोई भूमिका 'स्थल' मौजूद है या नहीं, तो दस्तावेज मुझे जो बताता है, उसके अनुसार मुझे यह करना चाहिए:
{% if "Venue" in user.profile.role.all %}
सही? हालांकि, ऊपर बताया गया if
झूठा रिटर्न देता है। ऐसा क्यों है?
1 उत्तर
इसके काम न करने का कारण यह है कि एक स्ट्रिंग एक Role
से भिन्न है जिसका नाम समान स्ट्रिंग है।
आप टेम्पलेट में भूमिका नामों का एक सेट पास कर सकते हैं, उदाहरण के लिए:
context['role'] = Role.objects.filter(
profile__user=self.request.user
).values_list('type', flat=True)
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
django
Django एक ओपन-सोर्स सर्वर-साइड वेब एप्लीकेशन फ्रेमवर्क है जिसे पायथन में लिखा गया है। यह कम कोड, विशेष-अतिरेक पर विशेष ध्यान देने और निहित से अधिक स्पष्ट होने के साथ जटिल डेटा-संचालित वेबसाइटों और वेब एप्लिकेशन बनाने के लिए आवश्यक प्रयास को कम करने के लिए डिज़ाइन किया गया है।