The `django.core.paginator.Paginator` approach seems to play well with Django's `QuerySet`, as per [the documentation](https://docs.djangoproject.com/en/dev/topics/pagination/).
However, the solution proposed here constructs a list with all the results in memory, and then uses the paginator basically for slicing the list with some added sugar.

I believe a solution that relies on querying MongoDB for just the subset of data need for a page is best. Mongo's API makes it very easy to write "paginators", I remember writing my own 3 years ago in Clojure -- oh, am I getting old?!