code: def get_readonly_fields(self, request, obj=None):
          
          readonly_fields = list(super(EntryAdmin, self).get_readonly_fields(
              request, obj))
  
          if not request.user.has_perm('zinnia.can_change_status'):
              readonly_fields.append('status')
  
          if not request.user.has_perm('zinnia.can_change_author'):
              readonly_fields.append('authors')
  
          return readonly_fields
docs: Return readonly fields by user's permissions.