2012-01-28 44 views
0

我想讓不同的用戶組訪問我的Django站點的管理部分,並控制他們可以訪問哪些字段。我計劃使用自定義的ModelAdmin對象來執行此操作,該對象根據當前用戶的組成員資格決定要添加到fieldsets屬性的內容。限制用戶組管理的字段

  • 這是否安全(即,如果一個字段沒有顯示,並且管理員使用螢火蟲或其他東西來改變窗體,Django會停止它)?
  • 這是最好的方式去做這件事?

回答

0

是的,這是安全的,因爲它是處理服務器端。我不知道fieldsets。你可以通過使用get_form來解決它。 E.g(取自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