2011-07-18 14 views
6

Models.py:कैसे टेम्पलेट टैग में मॉडल वस्तु से Django मॉडल क्षेत्र मूल्य प्राप्त करने के

class Discussion(models.Model): 
    version = models.TextField(blank=True) 
    team = models.TextField(blank=True) 
    project = models.TextField(blank=True) 
    notes = models.TextField(db_column='Notes', blank=True) # Field name made lowercase. 
    s = models.TextField(blank=True) 
    send_mail_to = models.TextField(blank=True) 
    send_mail_cc = models.TextField(blank=True) 
    date = models.DateTimeField(null=True, blank=True) 

    class Meta: 
     db_table = u'discussion' 

views.py:

p=Discussion.objects.filter(version=m2) 
return render_to_response('report/t2',{"p":p}) 

टेम्पलेट (एचटीएमएल):

<tr> 
     <td width="20%" class="scratchblackfont12">Release Name :</td> 
     <td><div style="overflow:auto"><input name="Release Name (if any):" autocomplete="on" type="text" class="scratchsearchfield" elname="defaultFocus" id="r1" value="{{p.version}}" READONLY multiline="true" ></div> 
     </td> 
    </tr> 

लेकिन टेम्पलेट कुछ भी प्रदर्शित नहीं करता है। कृपया इस समस्या को हल करने में मेरी सहायता करें। मैं मॉडल ऑब्जेक्ट से मॉडल फ़ील्ड मान टेम्पलेट में प्राप्त करना चाहता हूं।

उत्तर

6

ऐसा इसलिए है क्योंकि p है कि आप अपने को देखने के लिए भेज रहे हैं एक क्वेरीसमूह, नहीं एक वस्तु उदाहरण है। प्रयास करें निम्नलिखित:

{% for p_object in p %} 
<tr> 
    <td width="20%" class="scratchblackfont12">Release Name :</td> 
    <td><div style="overflow:auto"><input name="Release Name (if any):" autocomplete="on" type="text" class="scratchsearchfield" elname="defaultFocus" id="r1" value="{{p_object.version}}" READONLY multiline="true" ></div> 
    </td> 
</tr> 
{% endfor %} 

आप एक विशिष्ट p वस्तु दृष्टान्त भेजने के लिए चाहते हैं, तो आप अपने दृश्य में निम्न कार्य करना होगा:

p = Discussion.objects.get(version=m2) 

लेकिन ध्यान दें कि get एक त्रुटि फेंक होगा यदि क्वेरी संस्करण = m2 के साथ एक ही ऑब्जेक्ट से अधिक लौटाती है।

+0

अच्छा जवाब @rolling पत्थर। मैं पूरी तरह से इस तथ्य से चूक गया कि वह पाने के बजाय फ़िल्टर का उपयोग कर रहा था। मैं बहुत देर से सवालों का जवाब देना बंद कर रहा हूं :) – Brandon

+0

@ ब्रैंडन हाहा आपको रात में देर से दिए गए कुछ अन्य उत्तरों को देखना चाहिए! –

0

आपके विचार में, आप Discussion1 है, जो अपने मॉडल (चर्चा) के नाम पर नहीं है संदर्भित किया है। यह भी स्पष्ट नहीं है कि एम 2 का मूल्य असाइन किया जाता है।

मुझे लगता है कि यह सत्यापित होगा:

objects = Discussion.objects.filter(version=m2) 

रिटर्न खोल से वस्तुओं। कम से कम, आपको एक खाली सूची मिल जाएगी।

यह हमें बाहर एक बहुत मदद करता है अगर आप अपने कोड को ठीक से स्वरूपित, पर्याप्त संदर्भ प्रदान करने के अलावा तो हम बता सकते हैं जहां चीजों से, क्या क्या और इतने पर, क्रम में उत्तर देने के लिए है आते हैं।

+0

हाय ब्रैंडन discussion1 लिखने में कोई त्रुटि mistake.m2 एक चर संस्करण मान है। मैं खोल यह मेरी मदद correctl.Please मैं कैसे यह टेम्पलेट में प्राप्त कर सकते हैं – shiva

+0

पी = Discussion.objects.filter (संस्करण = एम 2) काम करता है वस्तुओं की एक सूची रिटर्न में यह प्रयास करें। तो पी [0]। 'संस्करण' वांछित परिणाम देता है। मेरे लिए मैं हमेशा एक वस्तु को एक रिटर्न प्रकार के रूप में आवश्यक करता हूं, मैं पी = चर्चा .objects.get (संस्करण = एम 2) टेम्पलेट में मैं {{ p.version}} यह काम करता है। मेरे लिए समय बिताने के लिए धन्यवाद ब्रैंडन – shiva

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