me gustaría definir una propiedad Python fuera de una definición de clase:¿Cómo puedo definir una propiedad de Python * fuera * de una definición de clase?
c = C()
c.user = property(lambda self: User.objects.get(self.user_id))
print c.user.email
pero me da el siguiente error:
AttributeError: 'property' object has no attribute 'email'
¿Cuál es la sintaxis correcta para definir una propiedad fuera de una definición de clase?
Editar: Estoy usando lettuce
from lettuce import *
from django.test.client import Client
Client.user_id = property(lambda self: self.browser.session.get('_auth_user_id'))
Client.user = property(lambda self: User.objects.get(self.user_id))
@before.each_scenario
def set_browser(scenario):
world.browser = Client()
Hm, lo he intentado, pero me sale este error: AttributeError: objeto 'thread._local' no tiene atributo 'usuario' –
Si obtiene * ese * error, entonces significa que este problema tiene más partes móviles de las que ha estado dispuesto a admitir en su pregunta. :) Por favor, muéstrenos el código real y las declaraciones y bibliotecas de 'importación' que está usando. ¡A cambio, le mostraremos por qué está recibiendo un error local de subprocesos! –
Ver mi edición anterior. –