2011-02-15 8 views
8

मैं अपने टेम्पलेट में मॉडलफॉर्म से बने एक फॉर्मेट पर पुनरावृत्ति कर रहा हूं। मैं उस मॉडल पर अतिरिक्त जानकारी प्रदान करना चाहता हूं। यदि यह How to Access model from Form template in Django सवाल का जवाब काम करेगा, मैं ऐसा कर सकता है:मैं टेम्पलेट से किसी फ़ॉर्म द्वारा उपयोग किए गए मॉडल इंस्टेंस का उपयोग कैसे कर सकता हूं?

{% for form in formset.forms %} 
Status:{{ form._meta.model.status }} 
    {{form}} 
{% endfor %} 

लेकिन वह सिर्फ TemplateSyntaxError फेंकता है: चर और विशेषताओं को अंडरस्कोर से शुरू नहीं हो सकता।

उत्तर

20

मुझे नहीं लगता कि आप यही करना चाहते हैं। एक मॉडल वर्ग है: इसमें status नहीं होगा, क्योंकि यह एक ऐसा फ़ील्ड है जो केवल किसी विशेष उदाहरण के लिए मूल्य प्राप्त करता है।

मुझे संदेह है कि आप क्या करना चाहते हैं मॉडल उदाहरण फ़ॉर्म से जुड़े हुए हैं, जो केवल form.instance है।

+0

हाँ - भ्रमित वर्ग और उदाहरण के लिए खेद है। जल्दी जवाब देने का शुक्रिया। – marue

+1

form.instance वह है जो मैं ढूंढ रहा था :) –

0

यदि आप उस मान पर कोई संपत्ति बनाते हैं जो मान को पढ़ता है तो आप टेम्पलेट में इसे आसानी से एक्सेस कर सकते हैं।

class SomeForm(...): 
    @property 
    def status(self): 
    return self._meta.model.status 

... 

     {{ form.status }} 
+0

एचएम, यह एक अच्छा है। लेकिन जैसा कि मेरे पास modelfields का एक समूह है, मैं फॉर्म भरने के लिए मूलभूत जानकारी प्रदान करना चाहता हूं, मैं उन सभी को फ़ॉर्म में रखने के विचार के बारे में बहुत खुश नहीं हूं ... – marue

+0

ओह, और वैसे - धन्यवाद आप भी अपने त्वरित उत्तर के लिए। – marue

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

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