Форум сайта python.su
Приветствую
Не могу придумать как можно передать значение параметра для создания поля формы. Если так:
class TestForm(forms.Form):
def __init__(self, desired_value=None, *args, **kwargs):
self.desired_field = forms.ModelChoiceField(Queried_Model.objects.filter(param=desired_value))
super(TestForm,self).__init__(*args, **kwargs)
class test():
def __init__(self, value):
self.var1 = value
var2=var1
NameError: name 'var1' is not defined
Офлайн
maxC формой всё просто:
Не могу придумать как можно передать значение параметра для создания поля формы.
class TestForm(forms.Form):
def __init__(self, desired_value=None, *args, **kwargs):
super(TestForm,self).__init__(*args, **kwargs)
self.fields["desired_field"] = forms.ModelChoiceField(Queried_Model.objects.filter(param=desired_value))
maxНет. __init__ вызывается в момент создания экземпляра класса, т..е. к тому времени класс уже создан полностью. Вмешаться в этот процесс можно через метакласс, либо метод __new__
Если упростить, то вопрос сводится к тому, как присвоить значение value переменной в классе var2:
Офлайн
Daevaorn
Насчет форм. В 4ом скринкасте Trier немного другой вариант предлагает.
Отредактировано (Авг. 14, 2008 01:11:58)
Офлайн