एक ModelForm में, self.instance model
विशेषता मेटा कक्षा में निर्दिष्ट से ली गई है। इस संदर्भ में आपका self
स्पष्ट रूप से मॉडलफॉर्म के आपके उप-वर्ग का एक उदाहरण है, और self.instance आपके द्वारा निर्दिष्ट मॉडल क्लास का एक उदाहरण है (और त्रुटियों के बिना फ़ॉर्म को सहेजने पर होगा), हालांकि आपने अपने उदाहरण में ऐसा नहीं किया है।
__init__
में self.instance तक पहुंचने से काम नहीं हो सकता है, हालांकि माता-पिता के __init__
को कॉल करने के बाद ऐसा करना संभवतः होगा। इसके अलावा, मैं सीधे घटना को बदलने की कोशिश करने की सिफारिश नहीं करता। यदि आप रुचि रखते हैं, तो Github पर बेसमोडेलफॉर्म कोड देखें। instance
तर्क के माध्यम से एक नया फॉर्म बनाते समय instance
भी निर्दिष्ट किया जा सकता है।
यह एक सामान्य पायथन चीज़ नहीं है। यह कुछ ऐसा है जो विशेष रूप से 'मॉडलफॉर्म' द्वारा सुपरक्लास '__init__' में परिभाषित किया गया है। –
धन्यवाद, मैंने प्रश्न शीर्षक में संशोधन किया है। – jazzblue