我希望为超级用户显示一个表单,为其他用户显示另一个表单。 例如,唯一的超级用户可以填写/编辑诸如author,likes_count,views_count ...
之类的字段我该怎么做?
答案 0 :(得分:1)
您需要为模型自定义相应的ModelAdmin
。
<强> admin.py 强>
from django.contrib import admin
from .forms import SuperuserForm, OtherForm
class MyAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
if request.user.is_superuser():
kwargs['form'] = SuperUserForm
else:
kwargs['form'] = OtherUserForm
return super(MyAdmin, self).get_form(request,obj=obj,**kwargs)