

def _autoregister(admin, model, follow=None):
    'Registers a model with reversion, if required.'
    if model._meta.proxy:
        raise RegistrationError('Proxy models cannot be used with django-reversion, register the parent class instead')
    if (not admin.revision_manager.is_registered(model)):
        follow = (follow or [])
        for (parent_cls, field) in model._meta.parents.items():
            follow.append(field.name)
            _autoregister(admin, parent_cls)
        admin.revision_manager.register(model, follow=follow, format=admin.reversion_format)

dataset/ETHPy150Open sshwsfc/xadmin/xadmin/plugins/xversion.py _autoregister/original