Проблемы с использованием Django Paginator с CouchDB - PullRequest
2 голосов
/ 08 мая 2011

Я пытаюсь использовать Django's Paginator с CouchDB.Приведенный ниже код будет успешно получать документы / записи с дивана.Однако проблема в том, что он возвращает все записи;не 5 за набор, который я хочу.

Я где-то ошибаюсь или Paginator от Django не совместим с Couch?

def content_queue(request):
# Get the current user
user = str(request.user)

# Filters the CouchDB View Doc "All" by user
couch_contents = ContentQueue.view("myapp/all", key=user)  

# This next section sets up Paginator
ITEMS_PER_PAGE = 5
paginator = Paginator(couch_contents, ITEMS_PER_PAGE)
try:
    page_number = int(request.GET['page'])
except (KeyError, ValueError):
    page_number = 1
try:
    page = paginator.page(page_number)
except InvalidPage:
    raise Http404

couch_contents = page.object_list

# Here I pass the variables to the template
variables = Context ({
    'couch_contents': couch_contents,
    'tag_list': tag_list,
    'show_paginator': paginator.num_pages > 1,
    'has_prev': page.has_previous(),
    'has_next': page.has_next(),
    'page': page_number,
    'pages': paginator.num_pages,
    'next_page': page_number + 1,
    'prev_page': page_number -1
})
return render_to_response('content_queue.html', variables)

1 Ответ

1 голос
/ 09 мая 2011

Сначала проверьте, что действительно возвращает "page.object_list".

Затем попробуйте преобразовать couch_contents в список, прежде чем передать его в Paginator.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...