2017-03-12 4 views
0

나는 또한 어떻게 통합 할 수있는 지능형리스트를목록 이해력 결과를 django-filter에 포함시키는 방법? 내가 장고에 내 결과를 표시 장고 필터를 사용하고

def extra_available_list(request): 
    EXTEND = "rent_base.html" 
    extra_list_gen = ExtraFilter(request.GET, queryset=Extra.objects.all().order_by('is_parking')) 
    extra_list = [obj for obj in extra_list_gen if ((obj.lease)==0)] 

    paginator = Paginator(extra_list, 10) # Show 25 contacts per page 

    page = request.GET.get('page') 
    try: 
     extra_page = paginator.page(page) 
    except PageNotAnInteger: 
     # If page is not an integer, deliver first page. 
     extra_page = paginator.page(1) 
    except EmptyPage: 
     # If page is out of range (e.g. 9999), deliver last page of results. 
     extra_page = paginator.page(paginator.num_pages) 

    return render(request,'unit/extra_list.html', {'extra': extra_list,'page_extra':extra_page}) 

을 사용해야 모델의 속성에 따라 어떤 결과를 필터링해야하지만

내 내 장고 필터 목록 이해도에서 출력?


UPDATE I 용액을 제안 시도

extra_list_gen Extra.objects.all =() extra_list_ids = OBJ extra_list_gen OBJ의 경우 ((obj.lease) == 0)에 대한] extra_list = ExtraFilter (() 'is_parking'request.GET, 검색어 세트 = Extra.objects.filter (id__in = extra_list_ids) .order_by는)

그러나 나는 오류를 얻을

INT() 인수가 문자열이나

  extra_list = ExtraFilter(request.GET, queryset=Extra.objects.filter(id__in=extra_list_ids).order_by('is_parking')) 

답변

1

, '엑스트라'가 아닌 숫자 여야합니다 당신이 검색어 세트를 필요로하기 때문에이 같은 일이

# First get the ids that you want, saving the id to the list 
extra_objects_ids = [obj.id for obj in Extra.objects.all() if ((obj.lease)==0)] 

# Now filter using id__in and then order 
extra_queryset = Extra.objects.filter(id__in=extra_objects_ids).order_by('is_parking') 
+0

확인 할 수있는, 감사, 내 업데이트보기 오류가 발생했습니다. –

+0

목록 이해에 ".id"가 누락되었습니다. 개체 목록이 아닌 ID 목록을 가져와야합니다. –