def get_readonly_fields(self, request, obj=None):
        """
        Return readonly fields by user's permissions.
        """
        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
Return readonly fields by user's permissions.