跳转到主要内容

一个用于添加版本信息并防止并发修改的基本模型类

项目描述

django-model-versions

一个用于向模型添加版本信息的库。然后使用这些版本信息来防止并发修改。例如。

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

将引发ConcurrentModificationException,而不是覆盖b1保存的数据。

用法

代替django.db.models.Model,使用modelversions.VersionedModel作为子类。就是这样!

已知缺陷

objects.update(…) 不会增加修改的对象的版本号。这将更好作为一个mixin。object.delete() 不会检查版本,Django管理器讨厌它

作者

Colin Howe <colin@colinhowe.co.uk> http://www.colinhowe.co.uk - @colinhowe

项目详情


下载文件

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

源分发

django-model-versions-0.4.0.tar.gz (3.4 kB 查看哈希值)

上传时间 源码

构建分发版

django-model-versions-0.4.0.linux-x86_64.tar.gz (5.6 kB 查看哈希值)

上传时间 源码

支持