跳转到主要内容

一个django应用程序,用于启用Django模型中存储的数据的版本控制。

项目描述

概述

django-versions 允许您无缝地对存储在django模型中的数据进行版本控制。要开始使用,您只需在设置中设置 VERSIONS_REPOSITORIES 变量,并配置您希望使用的存储库,然后只需从 VersionsModel 继承您的模型并开始保存数据即可

from django.db import models
from versions.models import VersionsModel

class MyModel(VersionsModel):
    text = models.TextField()

安装

依赖项

  • Mercurial >= 1.5.2

  • Django == 1.1.X

安装django-versions

如果您是从源安装,您只需从 django-versions 源代码树的根目录运行以下命令

python setup.py install

如果您想不检出源代码就安装该软件包,您应该运行

pip install django-versions

# OR if you don't have pip installed (you should definitely check out pip)
easy_install django-versions

目前,我们需要修补Django以允许我们从Manager类中访问相关模型。源代码树的根目录中包含一个补丁 django.patch,其中包含所需更改。要修补Django,请转到您对django 1.1.X的检出根目录并运行

patch -p0 < /path/to/django-versions/django.patch

VERSIONS_REPOSITORIES 添加到您的设置文件中,指向您希望 django-versions 创建和存储模型历史记录的位置

VERSIONS_REPOSITORIES = {
     'default': {
          'backend': 'versions.backends.hg',
          'local': '/path/to/my/projects/model/history',
          }
     }

启用版本管理

安装 VersionsMiddleware

MIDDLEWARE_CLASSES = (
    ...
    'versions.middleware.VersionsMiddleware',
    ...
    )

或者手动处理启用版本化模型的编辑

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()

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-versions-1.0.1.tar.gz (22.0 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面