一个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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 35e9259343e715ec33dd0399ae277ba5ef7e4fe87c55914685619d75596f67d1 |
|
MD5 | f4be9b84a483e4e9d820dda53ae9ffdc |
|
BLAKE2b-256 | 0fb593a427f04d74895e7fb2f8a3176f9f4db3e97aff758ed0148ca0ba4b969a |