alerion Это не техническое описание работы конструктора, но как-то так Зато очень понятноalerion queryset вроде как обязательный аргумент, тоесть что-то подсунуть на момент создания нужно. Думал так сделать, ясно.
Теперь так:
def selected_models(request):
if request.method == 'POST':
make = request.POST['make']
form = ModelFromMake(make, request.POST)
return render_to_response('selected_models.html', {'form': form, 'make': make,})
class ModelFromMake(forms.Form):
car_models = forms.ModelChoiceField(label = 'Model of your car:', queryset = CarModel.objects.none(), empty_label = None)
def __init__(make, *args, **kwargs):
super(ModelFromMake, self).__init__(*args, **kwargs)
self.fields['car_model'].queryset = CarModel.objects.filter(make=make)
alerion Желательно трейсбек побольше кидать.
Вылезла ошибка:
Traceback:
File "D:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
100. response = callback(request, *callback_args, callback_kwargs)
File "D:\home\oneproject..\oneproject\oneapp\views.py" in selected_models
137. form = ModelFromMake(make, request.POST)
File "D:\home\oneproject\oneapp\forms.py" in __init__
29. super(ModelFromMake, self).__init__(*args, kwargs)
Exception Type: NameError at /sell/
Exception Value: global name 'self' is not defined
Ведь self должен быть первым аргументом метода по умолчанию?
Updated 14 Feb. 2011, 23:11 by I159.