Django - Overriding get_form to customize admin forms based on request

后端 未结 8 971
眼角桃花
眼角桃花 2020-12-04 18:15

I\'ve tried various methods to achieve this.

I decided against overriding formfield_for_dbfield as it\'s doesn\'t get a copy of the request object and I was hoping t

8条回答
  •  日久生厌
    2020-12-04 19:06

    This is my solution:

    class MyModelAdmin(admin.ModelAdmin):  
    
        def get_form(self, request, obj=None, **kwargs):
            if request.user.is_superuser:
                self.exclude = ()
            else:
                self.exclude = ('field_to_exclude',) 
            return super(MyModelAdmin, self).get_form(request, obj=None, **kwargs) 
    

    Hope can help

提交回复
热议问题