Estoy usando djangoappengine. Cuando intento crear un nuevo usuario, autenticar a ese usuario e iniciar sesión, aparece el siguiente error AttributeError: 'AnonymousUser' object has no attribute 'backend'
.Django App Engine: AttributeError: el objeto 'AnonymousUser' no tiene ningún atributo 'back-end'
Mi código es simple y se ve así:
user = User.objects.create_user(username, username, password)
user.set_password(password)
user.save()
user = django.contrib.auth.authenticate(username=username, password=password)
django.contrib.auth.login(request, user)
solo me dan el siguiente error en la producción y sólo de vez en cuando:
web req_create: 'AnonymousUser' object has no attribute 'backend'
Traceback (most recent call last):
File "/base/data/home/apps/s~XXXXX/1.356802202883392818/XXXX/XXX.py", line 332, in req_create
login(request, user)
File "/base/data/home/apps/s~XXXXX/1.356802202883392818/django/contrib/auth/__init__.py", line 82, in login
request.session[BACKEND_SESSION_KEY] = user.backend
AttributeError: 'AnonymousUser' object has no attribute 'backend'
no estoy seguro, pero tengo una mala sensación de que esta excepción se debe al alto almacén de datos de replicación y su consistencia eventual. Creo que authenticate()
guarda el valor del usuario y que login()
hace una consulta, pero el valor del usuario aún no se ha propagado al HRDS. ¿Alguien puede confirmar que esto es cierto? Si es así, ¿cómo se solucionaría?
Pasa el error original con traceback. – Nilesh
Se agregó el rastreo. – speedplane