drf_changemgmt
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