Использовать request.REQUEST
(см .: Объекты запросов и ответов Django ).Он содержит значения request.POST
и request.GET
.
Кроме того, при использовании словарей в Python вы всегда должны проверять, существует ли ключ, к которому вы пытаетесь получить доступ.Это можно сделать одним из двух способов:
1) явно проверить ключ в словаре
if request.GET.has_key('filterby') and request.GET['filterby'] == 'G':
obj = Group.objects.get(pk=request.POST['filter'])
selectForm.fields['job'].queryset = Job.objects.filter(group=obj).order_by('name')
2) использовать в словаре метод get
if request.GET.get('filterby') == 'G':
obj = Group.objects.get(pk=request.POST['filter'])
selectForm.fields['job'].queryset = Job.objects.filter(group=obj).order_by('name')
С помощью dict.get
вы также можете передать значение по умолчанию:
if request.GET.get('filterby', valueIfKeyDoesntExist) == 'G':
obj = Group.objects.get(pk=request.POST['filter'])
selectForm.fields['job'].queryset = Job.objects.filter(group=obj).order_by('name')