0
我想讓不同的用戶組訪問我的Django站點的管理部分,並控制他們可以訪問哪些字段。我計劃使用自定義的ModelAdmin
對象來執行此操作,該對象根據當前用戶的組成員資格決定要添加到fieldsets
屬性的內容。限制用戶組管理的字段
- 這是否安全(即,如果一個字段沒有顯示,並且管理員使用螢火蟲或其他東西來改變窗體,Django會停止它)?
- 這是最好的方式去做這件事?
我想讓不同的用戶組訪問我的Django站點的管理部分,並控制他們可以訪問哪些字段。我計劃使用自定義的ModelAdmin
對象來執行此操作,該對象根據當前用戶的組成員資格決定要添加到fieldsets
屬性的內容。限制用戶組管理的字段
是的,這是安全的,因爲它是處理服務器端。我不知道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