@classmethod
def get_class_url_lazy(cls, url_name, attr_name, *args, **kwargs):
    """
        `attr_name` should be a valid Python identifier; preferrably, make it
        similar to `url_name` and start with an underscore.
        """
    if not hasattr(cls, attr_name):
        url = cls.get_class_url(url_name, *args, **kwargs)
        setattr(cls, attr_name, url)
    return getattr(cls, attr_name)
