一个简单的django应用程序来管理模型的历史。

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


audit trail是一个简单的django应用程序,用于跟踪数据库更改并在任何应用程序中维护历史记录。它还提供了许多领域的历史记录,有现成的管理页面。

快速启动

  1. 安装django模型审核:

    pip install django-model-audit
    
  2. 将“审计跟踪”添加到已安装的应用程序中:

    INSTALLED_APPS = [
            ...
           'audit_trail',
    ]
    
  3. 添加middlewre:

    MIDDLEWARE = [
           ...
           'audit_trail.middleware.AuditMiddleware'
    ]
    
  4. 运行迁移:

    python manage.py migrate
    
  5. 将AuditTrail和Manager添加到要创建历史记录的模型:

    from audit_trail.history import AuditTrail, AuditManager
    class MyModel(models.Model):
        ...
    
        history = AuditTrail()
    
        objects = AuditManager.as_manager()
    
        class Meta:
            display_format = '{model_name.field_name}'
    
  6. 要为审核添加管理屏幕,只需在模型管理中继承audittrailadmin即可:

    from audit_trail.admin import AuditTrailAdmin
    class MyModelAdmin(AuditTrailAdmin):
        ...
    

    访问Django模型管理屏幕以获取特定 模型(点击屏幕上的历史按钮)。

  7. 要获得许多字段的审计跟踪,只需从appconfig类的ready method发送信号即可:

    from audit_trail.signals import audit_m2m_ready
    
    class MyappConfig(AppConfig):
        ...
        def ready(self):
            audit_m2m.ready.send(sender=self.__class__)
            ...
    
  8. 在django应用程序导入和调用函数中获取审计跟踪日志 像这样获取审计跟踪:

    from audit_trail.admin import get_audit_trail
    get_audit_trail(model_name, object_id)
    

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

推荐PyPI第三方库


热门话题
Java中的多个控制台或显示屏?   java Guava:是否可能不使用多重映射映射所有条目。索引()?   java转换键值对作为JSON响应的对象?   java读取一个文本文件,然后计算字母频率,并从高到低列出它们   java Apache CXF为客户提供SEI   java如何在SQL查询中“转义”整个字符串   将JavaServlet定义为主网页servlet注释不起作用   运行jar文件时发生java FileNotFoundException   java有两种加载FXML的方法;为什么一个比另一个更受欢迎?   java无法切换到timeofindia站点页面中的帧   java Firebase Firestore在连接丢失后需要很长时间才能重新连接   java使用来自SQLite的通用数据填充RecyclerView/ListView   当我使用offer和poll独占访问它时,java是LinkedList线程安全的吗?   如何使用包含Java命名空间的XPath检索XML数据?   Spring Boot的java Elasticsearch Searchguard配置   java数组中的数组值赋值?   java保存成功,但更新失败使用Jointable的多对多Spring JPA和额外列   kotlin什么是java。构造器。单()?   简单解析例程的java问题