Metadata-Version: 1.1
Name: django-model-versions
Version: 0.4.0
Summary: A base model class for adding version information and preventing concurrent modifications
Home-page: https://github.com/colinhowe/django-model-versions
Author: Colin Howe
Author-email: colin@colinhowe.co.uk
License: Apache 2.0
Description: django-model-versions
        
        A library for adding version information to models. This version information
        is then used to prevent concurrent modifications. E.g.
        
        >>> b1 = Blog.objects.get(id=1)
        >>> b2 = Blog.objects.get(id=1) # Same row as b1
        >>> b1.title = 'Some blog'
        >>> b1.save()
        >>> b2.title = 'Some other blog'
        >>> b2.save()
        
        Will result in a ConcurrentModificationException being raised instead of
        overriding the data saved by b1.
        
        Usage
        -----
        
        Subclass modelversions.VersionedModel instead of django.db.models.Model.
        That's it!
        
        
        Known flaws
        -----------
        
        objects.update(...) will not increment the version number for objects altered.
        This would be better as a mixin.
        object.delete() will not check versioning
        Django admin hates it
        
        
        Author
        ------
        
        Colin Howe <colin@colinhowe.co.uk>
        http://www.colinhowe.co.uk - @colinhowe
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
