मेरे पास एक ModelChoiceField
एक Django रूप में। कार्यक्षमता ठीक काम करती है, लेकिन जब मैं अपने टेम्पलेट में सभी विकल्पों के माध्यम से लूपिंग कर रहा हूं, तो मुझे केवल मूल्य के बजाय ऑब्जेक्ट्स के बारे में अधिक जानकारी चाहिए Model.__str__()
.
मैं प्रयास कर चुका हूं
{% for radio in form.field %}
<tr>
<td class="text-center">{{ radio.tag }}</td>
<td>{{ radio.choice_label }}</td>
</tr>
{% endfor %}
लेकिन मुझे वस्तुओं से अधिक जानकारी नहीं मिल सकती है (उदा। radio.name
, radio.age
, radio.country
)।
उत्तर:
उत्तर № 1 के लिए 1दस्तावेज़ीकरण से:
The str (यूनिकोड अजगर पर 2) मॉडल की विधि क्षेत्र के विकल्पों में उपयोग के लिए वस्तुओं के स्ट्रिंग अभ्यावेदन उत्पन्न करने के लिए कहा जाएगा; अनुकूलित अभ्यावेदन, उपवर्ग ModelChoiceField और ओवरराइड label_from_instance प्रदान करने के लिए ।इस विधि एक मॉडल वस्तु प्राप्त होगा, और एक स्ट्रिंग का प्रतिनिधित्व करने के लिए उपयुक्त वापस चाहिए ।
और डॉक्स से एक उदाहरण:
from django.forms import ModelChoiceField
class MyModelChoiceField(ModelChoiceField):
def label_from_instance(self, obj):
return "My Object #%i" % obj.id