A collection of Django 1.5+ and Django Rest Framework 3.0+ utilities
You can use pip to install the package:
$ pip install djenerics
Then add it to the list of installed apps:
INSTALLED_APPS = ( 'djenerics' )
The following mixins are available for your model classes:
- Timestampable
- Provides created_at and updated_at fields.
- Ownerable
- Provides a owner field which references settings.AUTH_USER_MODEL
The following mixins are available for your view classes:
- SelectRelatable
- Provides a class variable select_related that allows you to provide a tuple or list of related models to perform a select_related on.
A custom filter backend that provides a generic filter query string parameter.
Convert a search query into a dictionary.
A search query like this one:
party: stakker is akker category:"hiha hoi"
Will be converted to a python dict:
{ 'category': 'hiha hoi', 'party': None, 'search': 'stakker is akker' }
It uses a regular expression to split every token on the : separator instead of using the string.split() function. This is important to distinguish between the following use cases:
- 'party:' => {'party': None} - 'party:tester' => {'party': 'tester'} - 'party: tester' => {'search': 'party: tester'}
The following mixins are available for your serializer classes:
- Projectable
Gives your api consumers the ability to control what fields are included in the api response using a configurable query string parameter (defaults to _fields).
E.g. a GET /resources?_fields=name,description,count will only return the specified 3 fields of the resource.
- Ownerable
- Limit the related field options to only those records owned by the current logged in user.