<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def admin_link(obj):
 """ Returns a link to the admin URL of an object. No permissions checking is involved, so use with caution to avoid exposing the link to unauthorised users. Example:: {{ foo_obj|admin_link }} renders as:: <a href='/admin/foo/123'>Foo</a> :param obj: A Django model instance. :return: A safe string expressing an HTML link to the admin page for an object. """

    if hasattr(obj, 'get_admin_link'):
        return mark_safe(obj.get_admin_link())
    return mark_safe(admin_link_fn(obj))