我试图为用户提供模型字段级别的隐私设置。因此,用户可以决定要显示哪些数据以及要隐藏哪些数据。在
示例:
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)
我想给用户提供一个选项来选择他想显示和不想显示的字段。 考虑到一个用户不想显示电话号码,所以他应该有这个选项。在
哪种方法最好?在
您可以在模型内创建一个CommaseParatedIntegraterField字段,并使用它来存储用户想要隐藏的字段名(表示字段名的整数)列表。在
您可以在字段名和整数之间创建一个映射,作为模型.py. 并检查用户所检查的字段名。在
示例映射:
请检查以下链接以获取参考https://docs.djangoproject.com/en/1.8/ref/models/fields/#commaseparatedintegerfield
你也可以使用多重选择域。。。下面的代码来自Django代码片段,所以请不要给我学分,因为我只是分享别人的工作!在
非常明显的简单愚蠢的解决方案是为每个字段添加一个布尔“show_xxx”,即:
然后在模板中检查
^{pr2}$show_xxx
字段的值:等等。。。在
当然,也可以使用单个整数字段和旧的位掩码技巧:
但我不确定这真的是一种“优化”。。。你必须手动处理编辑表单中的复选框等。在
相关问题 更多 >
编程相关推荐