Utility classes to provide time-ordered pagination over
Project description
Overview
Pagination utilities for Django REST Framework to allow for pagination by a mutable, but time-ordered field (like ‘modified’).
Requirements
Python (2.7, 3.3, 3.4)
Django (1.8+)
Django REST Framework (3.1+)
Important notes
The layout of the docs and the Git project were borrowed from: - drf-proxy-pagination - django-nsync (which was borrowed from other people too!)
Installation
Install using pip…
$ pip install drf-timeordered-pagination
In views.py, hook up your own integration into the pagination, or use one of the provided ones like so:
class ExampleClass(django.Model):
...
modified = DateTimeField(...)
...
from timeordered_pagination.views import TimeOrderedPaginationViewSetMixin
class ExampleClassView(
TimeOrderedPaginationViewSetMixin,
...,
viewsets.ModelViewSet)
...
Example
http://api.example.org/examples/ gives default pagination.
http://api.example.org/examples/?modified_after=1900-01-01T00:00:00Z gives all examples, modified after (greater than) Midnight, 1 Jan 1900, in modified order
http://api.example.org/examples/?modified_from=1900-01-01T00:00:00Z gives all examples, modified from (greater than or equal to) Midnight, 1 Jan 1900, in modified order
Testing
Install testing requirements.
$ pip install -r requirements.txt
Run with pytest.
$ py.test
You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox globally, and then simply run:
$ tox
Documentation
To build the documentation, you’ll need to install mkdocs.
$ pip install mkdocs
To preview the documentation:
$ mkdocs serve
Running at: http://127.0.0.1:8000/
To build the documentation:
$ mkdocs build
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for drf_timeordered_pagination-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6001fc286c5be8d276e70e46eb4a5b0f3d86fe640c691743f336fb5ba1b1e0ea |
|
MD5 | 139af0efd4c296fd4932f2195d1ed8f5 |
|
BLAKE2b-256 | 68e4c0c7ff572b136dadfa0b845f249486e121270c1ffe28ba14ffce701e26fb |