2013-09-25 3 views
0

request에서 값을 얻으려고하고 있으며 실제로 오류가 발생했습니다.django 요청에서 가치 얻기

def product_view(request): 
    lookup_type_user = request.GET.get('lookup_type', '') 

    LOOKUP_TYPE_CHOICES = (
       ('gt', '>'), 
       ('lt', '<'),  
      ) 

    class ProductFilter(django_filters.FilterSet): 
     lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES) 
     price = django_filters.NumberFilter(lookup_type=lookup_type_user) 

이 줄은 기본적으로 동일합니다. 이 패키지 관련 하나 내가 손으로 lookup_type를 제공하는 위 라인이 아무것도 제기하지 않았기 때문에 나는 그것이 해당 패키지하지만 위의 코드와는 아무 상관이 없습니다 assumming하고 있기 때문에

price = django_filters.NumberFilter(lookup_type='gte') 

나는 오류 메시지를 게시하고 있지 않다 .

여기에 무엇이 잘못 됐는지 보입니까?

@EDIT

내가 정확히에 포함 된 내용을 확인하기 위해 request 출력 할 수있는 방법이 있나요?

+0

이 코드는 어디에 있습니까? 아마도 한 곳에서 모두 함께있는 것은 아닙니다. 아니면 실제로 View 함수 안에 ProductFilter를 정의하고 있습니까? –

+0

'lookup_type_user'는이 파일을 가져올 때 한번 평가됩니다. 나는 "요청이 존재하지 않는다"거나 그렇게 오류가 있다고 가정하고 있습니까? –

+0

URL은 무엇입니까? ''> ''이 적절하게 전달 되었습니까? – Rohan

답변

0

나는 그것을 작동시켰다. 그것은 내 무지이었다. 대신 을 forms.py에 다시 정의해야했습니다. 이처럼 :

lookup_type = forms.ChoiceField(choices=LOOKUP_TYPE_CHOICES) 

하지 : 어떤 장고 필터하고 있던

lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES) 

때문에, 내 모델에 존재하지 않는 lookup_type 필드를 필터링하기 위해 노력했다. FieldError at/. Cannot resolve keyword 'lookup_type' into field을 던지고 있었는데 다른 앱을 사용하고 있기 때문에 몰랐습니다. django_tables2는이 오류를 다른 것으로 수정하여 성공적으로 나를 속였습니다.

지금은 쓸모없는 쓰레드이지만,이 문제를 해결하려고 노력한 pleople에게 알려주고 싶습니다.