我想让不同的用户组访问我的Django站点的Admin部分,并控制他们能够访问哪些字段。我计划使用自定义ModelAdmin
对象执行此操作,该对象根据当前用户的组成员身份决定要添加到fieldsets
属性的内容。
答案 0 :(得分:0)
是的,这是安全的,因为它是在服务器端处理的。我不了解fieldsets
。您可以使用get_form
解决此问题。例如(取自this answer):
def get_form(self, request, obj=None, **kwargs):
current_user = request.user
if not current_user.profile.is_manager:
self.exclude = ('added_by',)
self.list_display = ('name', 'finish')
form = super(MovieAdmin, self).get_form(request, obj, **kwargs)
form.current_user = current_user
return form