Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪个更好?django python中的分页还是手动结果集切片?_Python_Django_Pagination_Slice - Fatal编程技术网

哪个更好?django python中的分页还是手动结果集切片?

哪个更好?django python中的分页还是手动结果集切片?,python,django,pagination,slice,Python,Django,Pagination,Slice,我有一个结果集,我想在它上面实现某种分页。我知道django有Paginator,但作为另一种方式,我也可以有自己的实现,即切片结果集以支持分页。所以我想我可以有下面提到的两种不同的方法 使用分页器: paginator = Paginator(messages, 10) messages = paginator.page(2) 或者切片 messages = messages[start:start+10] 在这两种方法中,哪一种在性能方面更有效。我认为使用django分页会更好,但在使用

我有一个结果集,我想在它上面实现某种分页。我知道django有Paginator,但作为另一种方式,我也可以有自己的实现,即切片结果集以支持分页。所以我想我可以有下面提到的两种不同的方法

使用分页器:

paginator = Paginator(messages, 10)
messages = paginator.page(2)
或者切片

messages = messages[start:start+10]
在这两种方法中,哪一种在性能方面更有效。我认为使用django分页会更好,但在使用它之前,我只想知道哪种方式更好

我可以自己尝试这两种方法,但实际上我只是想在开始实施之前提前知道,这有助于节省时间


有什么想法吗?

Paginator在封面下进行切片,但还实现了一些其他方便的功能。因此,如果您不想发明轮子,请使用Paginator。

如果分页也在内部执行切片,并且如果我不需要太多其他方便的功能,那么手动切片会更好吗?我问这个问题是因为我在检查性能。我打赌你最终会实现所有这些微小的功能,比如
有其他页面
开始索引
等等。大多数情况下,所有的瓶颈都在db中,我怀疑你会看到性能上的差异。