一个简单的Django模块,用于在非生产环境中安全使用对生产数据的匿名化。
项目描述
django-anonymous
一个简单的Django模块,用于在非生产环境中安全使用对生产数据的匿名化。
安装
pip install django-anonymous
使用
在你的应用中创建一个名为 anon.py
的文件
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
# You can give any callable, Faker is a small wrapper around the `faker` library.
email = Faker("email", unique=True)
# You can also use any static value
first_name = "Anon"
运行匿名化程序
python manage.py anonymize
自定义QuerySet
你可以设置一个自定义的QuerySet来过滤掉一些对象
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
email = Faker("email", unique=True)
def get_queryset(self):
return super().get_queryset().filter(is_staff=True)
Faker种子
默认情况下,它将使用对象ID作为种子,以生成每次运行时相同的数据。你可以通过覆盖 get_object_seed
并返回假值来禁用此功能。
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
email = Faker("email", unique=True)
def get_object_seed(self, obj):
return None
匿名化器设置
对于每个匿名化器,你可以设置选择块大小和更新批处理大小。默认情况下,它不会匿名化没有值的字段。
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
SELECT_CHUNK_SIZE = 100
UPDATE_BATCH_SIZE = 25
ANONYMIZE_EMPTY_FIELD = False
email = Faker("email", unique=True)
灵感来源于
项目详情
下载文件
下载适合您的平台文件。如果您不确定要选择哪个,请了解有关 安装软件包 的更多信息。
源分布
django-anonymous-0.4.0.tar.gz (17.2 kB 查看哈希)
构建分发
django_anonymous-0.4.0-py3-none-any.whl (18.0 kB 查看哈希值)