Decorador de propriedade de classe preguiçoso

Eu tenho um modelo de django que precisa fazer algum processamento referindo o modelo de usuário personalizado.

Não consigo trabalhar com a classe desse modelo no tempo de carregamento da classe porque a ordem de carregamento das classes é desconhecida.

Então eu preciso adicionar alguns atributos de classe em tempo de execução, no momento em que estou adicionando-os no__init__ ou__new__ gostar:

def __new__(cls, *args, **kwargs):
    # hack to avoid INSTALLED_APPS initialization conflicts.
    # get_user_model() can't be called from this module at class loading time,
    # so some class attributes must be added later.
    # Metaclasses could me more appropiate but I don't want to override
    # dango's metaclasses.
    if not hasattr(cls, '_reverse_field_name_to_user'):
        cls._find_reverse_field_name_to_user()
    return Group.__new__(cls, *args, **kwargs)

Ele funciona, mas parece horrível, então eu pensei em usar algo como@lazyclassproperty para esses atributos.

Eu encontrei vários@classproperty e@lazyproperty decoradores, mas não um para ambos e eu não tenho idéia de como escrever um eu mesmo.

Questão: Como eu poderia codificar esse decorador? ou sugerir outra alternativa mais limpa à minha implementação boba atual.