1
의 수를 줄일 나는 그래서 템플릿에 대한 자사의 종류로 분해을 ListItem라는 모델이 있습니다장고 모델 필터는 쿼리
list_items = ListItem.objects.filter(list__user=request.user.id)
type2list_items = list_item.filter(list__type=1)
type3list_items = list_item.filter(list__type=2)
이것은 내가 어떻게 할 수, 너무 많은 쿼리를 생성 끝을 그것은 단지 하나인가? 그러면 데이터베이스를 다시 치지 않고 맨 아래의 2 개의 행으로 필터링 할 수 있습니까? 감사합니다
AFAIK, 첫 번째 필터는 db에 도달하지 않지만 마지막 두 개는됩니다. – iMom0
@ 扬扬 -momo 예, 모든 레코드를 list_items에 넣고 다른 쿼리없이 다른 두 레코드로 필터링하는 방법을 원합니다. (원시 SQL에서 할 수있는 것처럼) – user3376753
첫 번째 필터의 모든 결과를 항상 목록으로 가져온 다음 ['filter' 함수를 사용하여 파이썬으로 필터링하십시오.] (http://docs.python.org/2/ library/functions.html # filter). 각 항목의'list' 필드에 액세스 할 때 추가 쿼리를 피하기 위해'.select_related ('list')'를 필터에 추가해야 할 수도 있습니다. – lanzz