用django nonrel搜索分页

时间:2011-10-29 18:56:32

标签: django pagination django-nonrel

我正在使用django nonrel的full text search功能。我正在尝试用这段代码进行分页;

results = search(MyModel, keyword)[10:20]

但它不返回任何记录。当我使用[0:10]时没有问题;返回的前10行。如果我使用[5:20];从10到20的记录返回。像nonrel这样的接缝应用切片两次。您对如何使用django nonrel搜索进行分页有什么建议吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我听说django appengine切片有点慢。相反,请考虑使用光标

from djangoappengine.db.utils import get_cursor, set_cursor

num_items=5
query=search(MyModel,request.GET['key_words'])

next=request.GET.get('next')
if next:
     query=set_cursor(query,next)

results=query[0:num_items]
next=get_cursor(results)        
return render_to_response(template_name,{
                    'result':results,
                    'next':next,
                    },context_instance=RequestContext(request))

您甚至可以按住上一个光标向后移动。

希望有所帮助