python - 在模型 django 中的每个字段上实现隐私的最佳方式

标签 python django django-permissions

我正在尝试为用户提供模型字段级别的隐私设置。因此用户可以决定要显示哪些数据以及要隐藏哪些数据。

示例:

class Foo(models.Model):
    user = models.OneToOneField("auth.User")
    telephone_number = models.CharField(blank=True, null=True, max_length=10)
    image = models.ImageField(upload_to=get_photo_storage_path, null=True, blank=True)

我想为用户提供一个选项来选择他想要显示和不显示的字段。 假设用户不想显示电话号码,因此他应该可以选择显示电话号码。

解决这个问题的最佳方法是什么?

最佳答案

您可以在模型中创建一个 CommaSeparatedIntegerField 字段,并使用它来存储用户想要隐藏的 field_names(表示 field_name 的整数)列表。

您可以在 fields_names 和整数之间创建映射作为 models.py 中的常量。并检查用户已检查的 field_names。

映射示例:

FIELD_NAME_CHOICES = (
    (1, Foo._meta.get_field('telephone_number')),
    (2, Foo._meta.get_field('name')),
    .
    .
)

查看以下链接以供引用https://docs.djangoproject.com/en/1.8/ref/models/fields/#commaseparatedintegerfield

关于python - 在模型 django 中的每个字段上实现隐私的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499049/

相关文章:

Django admin - 允许用户访问特定对象/字段吗?

django - 如何更新 DRF 中的 'Allow' header 以匹配 OPTIONS 请求的权限?

Django REST Framework - 如何快速检查用户权限?

python - GAE/P : Transaction safety with API calls

Python 不导入 dotenv 模块

python - Django - 如何获取与另一个字段相关的upload_to目录

python - 如何为 Django 安装 Tastypie?

python - PySpark:如何评估机器学习推荐算法的 AUC?

python - 将查询集传递给django inlineform中的foreignkeyfield

python - 更改 scikit learn 中的数字格式