के लिए __init__ ओवरराइड करना मैं Django में एक कस्टम फॉर्म ऑब्जेक्ट बना रहा हूं जिसमें __init__ विधि ओवरराइड है। विधि को ओवरराइड करने का उद्देश्य गतिशील रूप से नए पैरामीटर के आधार पर ड्रॉप-डाउन बॉक्स उत्पन्न करना है।डीजेगो: कस्टम फॉर्म
उदाहरण के लिए,
class TicketForm(forms.Form):
Type = Type.GetTicketTypeField()
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
initial=None, label_suffix=':', empty_permitted=False,
ticket=None):
if ticket:
self.__class__.State = State.GetTicketStateField(ticket.Type)
super(forms.BaseForm, self).__init__(data=data, files=files,
auto_id=auto_id, prefix=prefix, initial=initial,
label_suffix=label_suffix, empty_permitted=empty_permitted)
यह समाधान काम नहीं करता। ऐसा प्रतीत होता है कि फ़ील्ड __init__ कहलाए जाने से पहले बनाए जाते हैं। मुझे लगता है कि यह समस्या बहुत आम होगी। समस्याओं के इन वर्गों को संभालने का Django तरीका क्या होगा।