Найти - Пользователи
Полная версия: Произвольный параметр для поля формы
Начало » Django » Произвольный параметр для поля формы
1
max
Приветствую

Не могу придумать как можно передать значение параметра для создания поля формы. Если так:
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)
то поле desired_field в форме отсутствует.

Если упростить, то вопрос сводится к тому, как присвоить значение value переменной в классе var2:
class test():
def __init__(self, value):
self.var1 = value
var2=var1
NameError: name 'var1' is not defined
Александр Кошелев
max
Не могу придумать как можно передать значение параметра для создания поля формы.
C формой всё просто:
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
Если упростить, то вопрос сводится к тому, как присвоить значение value переменной в классе var2:
Нет. __init__ вызывается в момент создания экземпляра класса, т..е. к тому времени класс уже создан полностью. Вмешаться в этот процесс можно через метакласс, либо метод __new__
Ragimoff
Daevaorn
Насчет форм. В 4ом скринкасте Trier немного другой вариант предлагает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB