Skip to main content

A collection of Django 1.5+ and Django Rest Framework 3.0+ utilities

Project description

A collection of Django 1.5+ and Django Rest Framework 3.0+ utilities

installation

You can use pip to install the package:

$ pip install djenerics

Then add it to the list of installed apps:

INSTALLED_APPS = (
    'djenerics'
)

model mixins

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

view mixins

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.

django-rest-framework filter backend

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'}

django-rest-framework serializer mixins

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djenerics-1.2.0.tar.gz (5.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page