drf_changemgmt

Django Rest Framework dirty tracking


License
BSD-3-Clause
Install
pip install drf_changemgmt==0.1.0

Documentation

drf_changemgmt

build-status-image pypi-version

Overview

Django Rest Framework dirty tracking

Requirements

  • Python (2.7, 3.3, 3.4)
  • Django (1.6, 1.7, 1.8)
  • Django REST Framework (2.4, 3.0, 3.1)

Installation

Install using pip…

$ pip install drf_changemgmt

Example

from .models import Actor
from drf_changemgmt import ChangeMgmtSerializerMixin
from rest_framework.serializers import ModelSerializer

class ActorSerializer(ChangeMgmtSerializerMixin, ModelSerializer):
    """ Actor model serializer """

    class Meta(object):
        """ DRF ModelSerializer meta object """

        model = Actor

...
...

def pre_save(..):
    changed = model.get_changed_fields()
    if 'superuser_role' in changed:
        raise PermissionDenied("you can't do that!")

Testing

Install testing requirements.

$ pip install -r requirements.txt

Run with runtests.

$ ./runtests.py

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