Skip to main content

[DRF with api history track][docs]

Build Status Coverage Status Maintainability DownloadsDownloadsDownloads PyPI version


修改说明

此包会覆盖drf的rest_frame的包下的内容 drf基础库版本为3.9.2

主要修改为增加了signal.py 和修改了mixin的update方法 和引入了track_action的历史记录model

安装

pip install drf-safe-jack

ADD 增加了通过post方法请求put、patch、delete方法

使用方式:在请求头header加入method 写入对应方法put或者patch等即可用post方法访问put等接口

method=put 

ADD 增加了自动记录api接口请求历史

历史记录基于api设计而非基于model,使用simple-history等包会引入大量的历史记录表,对数据库整体结构不是很友好,

所以自己实现了一个,所有的内容保存到history这个model中,采用多线程不影响正常接口的访问速度

特性:

1.多线程保存

2.单个历史表 ,可根据api对应序列化器serializer内的model名来搜索历史记录

3.中文支持 自动转换none,单选choice,多选为中文名显示

使用方式:

      #  settins.py
     INSTALLED_APPS = [
         ...,
         'track_actions',
     ]

     MIDDLEWARE = [
         ... ,
         'track_actions.requestMiddleware.RequestMiddleware',
     ]
    python manage.py migrate track_actions

    # url.py
     url(u'^api/', include('track_actions.urls')), # 这个路由可自定义

    # 即可在 api/history 目录下获取到所有的历史记录

记录返回内容

   # 字段预览 
            "table_name": "basic_basicrescue",  # 每个 api 里面对应的表名
            "created_at": "2021-06-26T14:29:04.838753", # 操作日期
            "instance_id": "424",   #实例id
            "action": "由未填写更新为是",  # 操作内容
            "field_name": "病人-发病时间",   # 中文的字段名
            "user": 62   # 操作用户id
            "user_obj": {  # 操作用户详情
                "id": 62,
                "username": "test_006",
                "first_name": "王五",  #
                "department": 
             }

查找某个api对应的历史记录方法

/api/history/?table_name=basic_basicrescue&instance_id=412  # tablename 为表名  instance_id为对应表的实例id

Release files for drf-safe-jack 4.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drf-safe-jack 4.2.7
File Size Uploaded
drf-safe-jack-4.2.7.tar.gz 780.6 kB Details

Release files / drf-safe-jack-4.2.7.tar.gz

Download URL drf-safe-jack-4.2.7.tar.gz
Size 780.6 kB
Tags Source
SHA-256 checksum
How to use checksums
894e1450888af0f72abd350fa7fa872c97eb7f400a9d615f6dc013c87ef5020e
BLAKE2b-256 checksum
How to use checksums
6cd9bbb6f539d0a65513b96406a7d510d2738ea0a9c690bcc6b9baa2fea3d8b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.8.2 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/2.7.12

Release history Release notifications | RSS feed

This release

4.2.7 This release

1 release file

4.2.6

1 release file

4.2.5

1 release file

4.2.4

1 release file

4.2.3

1 release file

4.2.2

1 release file

4.2.1

1 release file

4.2.0

1 release file

4.1.6

1 release file

4.1.5

1 release file

4.1.4

1 release file

4.1.3

1 release file

4.1.2

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.4

1 release file

4.0.3

1 release file

4.0.2

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.9.9

1 release file

3.9.8

1 release file

3.9.7

1 release file

3.9.6

1 release file

3.9.5

1 release file

3.9.4

1 release file

3.9.3

1 release file

3.9.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page