'Validate that list_editable is a sequence of editable fields from
list_display without first element.'

def validate_list_editable(self, cls, model):

    if (hasattr(cls, 'list_editable') and cls.list_editable):
        check_isseq(cls, 'list_editable', cls.list_editable)
        for (idx, field_name) in enumerate(cls.list_editable):
            try:
                field = model._meta.get_field_by_name(field_name)[0]
            except models.FieldDoesNotExist:
                raise ImproperlyConfigured(("'%s.list_editable[%d]'    refers    to    a    field,    '%s',    not    defined    on    %s.%s." % (cls.__name__, idx, field_name, model._meta.app_label, model.__name__)))
            if (field_name not in cls.list_display):
                raise ImproperlyConfigured(("'%s.list_editable[%d]'    refers    to    '%s'    which    is    not    defined    in    'list_display'." % (cls.__name__, idx, field_name)))
            if (field_name in cls.list_display_links):
                raise ImproperlyConfigured(("'%s'    cannot    be    in    both    '%s.list_editable'    and    '%s.list_display_links'" % (field_name, cls.__name__, cls.__name__)))
            if ((not cls.list_display_links) and (cls.list_display[0] in cls.list_editable)):
                raise ImproperlyConfigured(("'%s.list_editable[%d]'    refers    to    the    first    field    in    list_display,    '%s',    which    can't    be    used    unless    list_display_links    is    set." % (cls.__name__, idx, cls.list_display[0])))
            if (not field.editable):
                raise ImproperlyConfigured(("'%s.list_editable[%d]'    refers    to    a    field,    '%s',    which    isn't    editable    through    the    admin." % (cls.__name__, idx, field_name)))
