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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7271b19e134042db745d69e7d36f5eceb10b68141b961defc5c2f1dd9979020e |
|
MD5 | 324c63ba2b5661cd71dd226cf504ae3f |
|
BLAKE2b-256 | 4a1cfe14b84532b0ae9246d108fd008033c965a2533affc88066856aaf55339b |