J'essaie de définir manuellement un objet dans l'API de cache de Django mais cela échoue (je pense à cause du décapage?) L'objet m'a été donné par un troisième partie, mon code est:La définition d'un objet dans l'API de cache Django échoue en raison d'une erreur de pickle
def index(request, template_name="mytemplate.htm"):
user_list = cache.get("user_list_ds")
if user_list is None:
# this is the expensive bit I'm trying to cache
# given to me by a third part
user_list = graffiti.user_list("top", 100).responseObj().blocks()
cache.set("user_list_ds", user_list, 10*60) # 10 minutes
return render_to_response(template_name, { 'user_list' : user_list,}, context_instance = RequestContext(request))
Lorsque j'exécute ceci, j'obtiens une erreur;
Can't pickle <type 'etree._Element'>: import of module etree failed
in - cache.set("user_list_ds", user_list, 10*60) # 10 minutes
Je suis très nouveau pour python, et je me demande la meilleure façon de résoudre ce problème, ai-je besoin de décaper quelque chose d'abord?
Vous aviez raison, j'ai dû changer le type de données que nous essayions de mettre en cache dans une liste python normale. –