跟踪对django模型的更改

django-tracked-model的Python项目详细描述


simple django应用程序,用于跟踪通过orm执行的db更改。(仅限 在python3和django-1.8.1上测试)

用法

一旦安装(请参阅下面的“安装”),跟踪的每个更改 无论何时调用“save”或“delete”,都将记录模型。

要包含有关更改情况的有用信息,请使用

model.save(request=request)

model.save(track_token=token)

对于model.delete()也是如此,其中request只是django HttpRequest实例,tokentracked_model.control.create_track_token(request)调用。

这将存储djagno用户以及ip、主机、用户所做的更改 代理、请求路径、请求方法、引用程序和请求时间戳。

要访问模型的历史记录,请调用它的tracked_model_history方法

model.tracked_model_history()

模型实例可以通过调用 materialize

model = SomeModel.objects.create(attr='initial')
model.attr = 'change 1'
model.save()
model.attr = 'change 2'
model.save()

model_initial_state = model.tracked_history().first().materialize()

安装

  1. $ pip install django-tracked-model
    
  2. tracked_model添加到settings中的INSTALLED_APPS

  3. 同步数据库

    $ python manage.py syncdb
    
  4. 将模型标记为可跟踪

from django.db import models
from tracked_model.control import TrackedModelMixin as Tracked

class MyModel(Tracked, models.Model):
    spam = models.IntegerField()
    egg = models.TextField()

测试和模型

如果出于某种奇怪的原因,你想四处闯荡,克隆repo并安装 dev-reqs.txt中的内容

$ pip install -r dev-reqs.txt

有一个带有一些方便快捷方式的makefile,例如

$ make test
$ make qa

查看makefile以了解详细信息

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

推荐PyPI第三方库


热门话题
Java,我如何在方法中放置一个开关盒?   Java将数组添加到数组特殊模式   java的类常量和文件导入   如何在java中使用正则表达式更改匹配子字符串的前缀和后缀   Java Hashmap实现中的字符串哈希问题   java如何计算数组中的连续数字组   处理异常后如何在java中重新启动thrift服务器?   java嵌套列表迭代器。程序不会终止   如何在maven目标目录下的JAR文件中运行java类?   mysql Java JPA/Hibernate级联删除   java使用ApachePDFBox在PDF中查找javascript代码   java将hsqlDB集成到netbeans 7 IDE中   java如何删除word梯形图中的最后一个“>”   java如何存储由Minimax扩展的节点数