跳转到主要内容

一个简单的Django应用程序,可以轻松处理旧数据的清理(会话、nonce、日志等)

项目描述

Build Status

Django Datapurge

一个简单的应用程序,用于帮助清除旧数据,如会话、nonce、日志等。它类似于 django-admin.py clearsessions 命令,但允许清除任何内容。使用 datapurge 的最简单方法是运行管理命令(手动或通过cron)

python manage.py purge

很容易将datapurge与 celerykronos 集成。只需将 datapurge.actions.purge 函数用对应于您的任务后端代码包装起来,并按您想要的方式运行它。

需求

  • Python (2.6, 2.7, 3.4, 3.5)

  • Django>=1.3.7

安装

使用pip从PyPI安装

pip install django-datapurge

或克隆此存储库

git clone git@github.com:swistakm/django-datapurge.git

'datapurge' 添加到您的 INSTALLED_APPS 设置中。

INSTALLED_APPS = (
    ...
    'datapurge',
)

配置

DATAPURGE_MODELS 添加到您的设置文件中,并指定应清除哪些模型

DATAPURGE_MODELS = {
    'app_name.ModelName1': {
        # policy settings
        ...
        },
    'app_name.ModelName2': {
        ...
        },
}

可用的清除策略

有几个可用的策略可供您使用。使用您认为最方便的策略。策略从提供的设置参数中猜测。

ExpireFieldPolicy

删除所有 expire_field 日期时间早于 timezone.now() 的对象。

参数

  • 'expire_field' - 保存过期日期的日期时间字段名称

示例

DATAPURGE_MODELS = {
    "sessions.Session": {
        "expire_field": "expire_date",
    }
}

LifetimePolicy

删除所有超过指定 生存期 的对象

参数

  • '生存期' - 表示对象最大生存期的 timedelta 对象

  • 'created_field' - 存储对象创建时间的 datetime 字段名称

示例

from timezone import timedelta

DATAPURGE_MODELS = {
    "oauth_provider.Nonce": {
        "lifetime": timedelta(seconds=300),
        "created_field": "timestamp",
    }

CallablePolicy

删除由提供的可调用函数返回的查询结果中的所有对象

参数

  • 'callable' - 接受模型类并返回 QuerySet 的函数

示例

DATAPURGE_MODELS = {
    "some_app.Log": {
        "callable": lambda model: model.objects.all(),
    }

项目详情


下载文件

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

源代码分发

django-datapurge-0.0.2.tar.gz (8.0 kB 查看哈希值)

上传时间 源代码

构建分发

django_datapurge-0.0.2-py2.py3-none-any.whl (13.4 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面