2010-05-29 2 views
0

db에 영향을주지 않고 쿼리 세트에서 마지막 결과를 버리고 제거하는 간단한 방법이 있습니까?Queryset에서 결과 제거

Django에서 결과의 페이지 매김을 시도하고 있지만 주어진 쿼리에 대한 총 개체 수를 알지 못합니다.

다음/이전 또는 이전/더 새로운 링크를 사용할 계획이므로 첫 번째 및/또는 마지막 페이지인지 알아야합니다.

먼저 확인하기 쉽습니다. 마지막 페이지를 확인하기 위해 결과 수를 페이지 크기와 비교하거나 두 번째 쿼리를 만들 수 있습니다. 첫 번째 방법은 마지막 세트의 결과 수가 페이지 크기와 같을 때 마지막 페이지를 감지하지 못합니다 (즉, 100 개의 레코드가 정확히 10 개의 결과가 포함 된 마지막 페이지가있는 10 개의 페이지로 나뉩니다). 두 번째 쿼리를 작성하지 않으려합니다.

현재 나의 생각은 db에서 pagesize + 1 결과를 가져와야한다는 것입니다. 쿼리 세트 길이가 11 인 경우, 이것이 마지막 페이지가 아니며 쿼리 세트를 템플릿에 전달하기 전에 쿼리 세트의 마지막 결과를 무시하고 싶습니다.

+0

장고 내장 [매김 지원 (HTTP가 있습니다 : //docs.djangoproject.com/ko/1.2/topics/pagination/), 수동으로 할 필요는 없습니다. –

답변

0

당신은 단순히 결과 :

를 슬라이스 할 수

객체 = your_pre_sliced_queryset [: 페이지 크기]