/django-concurrency

django optimistic locking library

Primary LanguagePythonOtherNOASSERTION

Django Concurrency

https://secure.travis-ci.org/saxix/django-concurrency.png?branch=develop https://coveralls.io/repos/saxix/django-concurrency/badge.png?branch=develop https://pypip.in/v/django-concurrency/badge.png https://pypip.in/d/django-concurrency/badge.png

django-concurrency is an optimistic locking library for Django 1.4.

It prevents users from doing concurrent editing in Django both from UI and from a django command.

How it works

sample code:

from concurrency.fields import IntegerVersionField

class ConcurrentModel( models.Model ):
    version = IntegerVersionField( )

Now if you try:

a = ConcurrentModel.objects.get(pk=1)
b = ConcurrentModel.objects.get(pk=1)
a.save()
b.save()

you will get a RecordModifiedError on b.save()

Links