class myForm(forms.Form):
def __init__(self, *args, **kwargs):
try:
self.q_prime = kwargs.pop('q')
except:
pass
super(myForm, self).__init__(*args, **kwargs)
choice = forms.ChoiceField(label="My choice",
choices=myChoice(self.q_prime).choices()) #I
As Joe says above, the choice field is a class-level field whereas
"self.*" is instance level. So, this doesn't work.
Try this instead:
class myForm(forms.Form):
def __init__(self, *args, **kwargs):
self.q_prime = [] # default choices here?
try:
self.q_prime = kwargs.pop('q')
except:
pass
super(myForm, self).__init__(*args, **kwargs)
self.fields['choice'] = forms.ChoiceField(label="My choice",
choices=myChoice(self.q_prime).choices()) #I
Note the indentation of that last line -- it now belongs to the
__init__ method and not to the class.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---