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

django-versions的Python项目详细描述


概述

django-versions允许您无缝地对django模型中存储的数据进行版本转换要开始,只需在设置中设置VERSIONS_REPOSITORIES变量并配置要使用的存储库,然后仅从VersionsModel子类化模型并开始保存数据:

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

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

安装

依赖性

  • 汞=1.5.2
  • django==1.1.x

安装django版本

如果是从源代码安装,只需在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()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava