Metadata-Version: 1.0
Name: django-versions
Version: 1.0.1
Summary: A django application to enable versioning of data stored in Django models.
Home-page: http://github.com/nowells/django-versions/
Author: Nowell Strite
Author-email: nowell@strite.org
License: MIT
Description: django-versions
        ###############
        
        Overview
        ========
        
        ``django-versions`` allows you to version the data stored in django models seamlessly. To get started all you need to do is to set ``VERSIONS_REPOSITORIES`` variable in your settings and configure the repositories you would like to use, then just subclass your Model from ``VersionsModel`` and start saving data::
        
            from django.db import models
            from versions.models import VersionsModel
        
            class MyModel(VersionsModel):
                text = models.TextField()
        
        Installation
        ============
        
        Dependencies
        ------------
        
        * Mercurial >= 1.5.2
        * Django == 1.1.X
        
        Installing django-versions
        --------------------------
        
        If your are installing from source, you just need to run the following command from the base of the ``django-versions`` source tree::
        
            python setup.py install
        
        If you want to install the package without checking out the source you should run::
        
            pip install django-versions
        
            # OR if you don't have pip installed (you should definitely check out pip)
            easy_install django-versions
        
        For the time being, we need to patch Django to allow us to gain access to the related model from Manager classes. There is a patch included at the root of the source tree ``django.patch`` that includes the required changes. To patch django, go to the root of your checkout of django 1.1.X and run::
        
            patch -p0 < /path/to/django-versions/django.patch
        
        Add ``VERSIONS_REPOSITORIES`` to your settings file, pointing to the location where you would like ``django-versions`` to create and store your model history::
        
            VERSIONS_REPOSITORIES = {
                 'default': {
                      'backend': 'versions.backends.hg',
                      'local': '/path/to/my/projects/model/history',
                      }
                 }
        
        Enabling Version Management
        ...........................
        
        Install the ``VersionsMiddleware``::
        
            MIDDLEWARE_CLASSES = (
                ...
                'versions.middleware.VersionsMiddleware',
                ...
                )
        
        Or handle enabling editing of Versioned models manually::
        
            from versions.base import revision
        
            @revision.commit_on_success
            def my_editing_function(request):
                m = MyModel.objects.get(pk=1)
                m.save()
        
        
            def my_other_editing_function(request):
                with revision:
                    m = MyModel.objects.get(pk=1)
                    m.save()
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Utilities
