一个简单的Django应用程序,可以轻松处理旧数据的清理(会话、nonce、日志等)
项目描述
Django Datapurge
一个简单的应用程序,用于帮助清除旧数据,如会话、nonce、日志等。它类似于 django-admin.py clearsessions 命令,但允许清除任何内容。使用 datapurge 的最简单方法是运行管理命令(手动或通过cron)
python manage.py purge
很容易将datapurge与 celery 或 kronos 集成。只需将 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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f6ca5512abfe1f183028ee6f6bdaa15c3729c4c77fbffb803871e98b41fffb5e |
|
MD5 | e3c419369c13df26fd5a42572ce8be30 |
|
BLAKE2b-256 | 79818fc41150f9007ebb157dce68aca022dfc39cd0adfc34cc1afee09d64ca65 |
关闭
django_datapurge-0.0.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad41df6319f18e9fd4d06c1c33f240af92ad3099f938fbcfb652eb8d8815efdf |
|
MD5 | 383504dc8e641af4cef56232f3d9dec3 |
|
BLAKE2b-256 | fcc6445768996faeb012bfa135cdbf0fd893c935bed3b8b086a59e653d3a427b |