随着时间的推移跟踪django模型对象

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


型号跟踪器

跟踪模型对象随时间变化,以便您知道是谁做了什么。

安装

  • 安装软件包
pip install django-model-tracker
  • 将应用程序添加到项目的已安装应用程序中
INSTALLED_APPS=('....','ModelTracker',)
  • 在url.py中添加以下行
importModelTrackerurlpatterns=patterns('',...url(r'^track/',include('ModelTracker.urls')),...)
  • 运行迁移
   python manage.py migrate ModelTracker 
  • 将以下行添加到models.py文件中
fromModelTrackerimportTracker
  • 将要跟踪的每个模型从Tracker.ModelTracker转换为inhert,而不是models.Model

旧代码

classEmployee(models.Model):name=models.CharField(max_length=255)address=models.CharField(max_length=255)age=models.IntegerField()

新代码

classEmployee(Tracker.ModelTracker):name=models.CharField(max_length=255)address=models.CharField(max_length=255)age=models.IntegerField()
  • 对于每个save()调用,向用户添加用户名
    • 旧代码
emp=Employee()emp.save()
 * New Code
emp=Employee()emp.save(request.user.username)
  • 从0.5版开始,您可以传递event_name参数以将更改标记为事件

    • 新代码
emp=Employee()emp.save(request.user.username,event_name="Created the user")

使用中间件

您可以将ModelTracker.middleware.ModelTrackerMiddleware添加到中间件类中,以便从请求中自动获取用户名。

MIDDLEWARE_CLASSES=('....','ModelTracker.middleware.ModelTrackerMiddleware',)

注意:如果将用户名作为None传递,则不会保存更改。

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

推荐PyPI第三方库


热门话题
使用“Google Play Api Client Library for Java”时,Google Play Api默认为“仅限我”   Java REST web服务如何使用复杂的XML   java提供了这个供应链问题的递归解决方案   java找不到适合jdbc的驱动程序?   java IntelliJ Git集成插件>“新分支”将大写字母F放在“功能/abc”中   多线程Java线程间共享变量   HibernateJava。util。自定义包装枚举类型不支持TreeSet集合类型   JAVAsocket调用次数过多   java有没有办法在没有附加库的情况下启动代理?   javaudp优化   java动态检索rj的路径。jar(OS X中的classes.jar)   在Java中解析DTD   playframework 2.1.4java如何使用@options helper,并将Map<String,String>作为参数   java rest web服务中的web服务异步任务   java使用数组创建密码和用户名   java获取OnCheckedChangedListener中的视图位置   java如果我搞砸了登录,它将直接进入else条件,如果我正确登录,它将进入这两个条件   Java正则表达式跳过匹配项   oracle如何使用jdbc将变量从plsql发送到java?