Reputation: 3897
I'm facing this issue on Django==1.5.7
I already tried what is specified on this SO question:
Object has no attribute getitem
With no luck, idk what could be possibly wrong, here's my model.py:
class UsuarioFidetel(models.Model):
"""
Modelo de usuario fidetel
"""
usuario = models.CharField(max_length=30)
id_usuario = models.IntegerField()
nombre = models.CharField(max_length=255, null=True)
apellido = models.CharField(max_length=255, null=True)
tipo_cedula = models.CharField(max_length=1, null=True)
cedula = models.CharField(max_length=9, null=True)
fecha_nacimiento = models.DateField(null=True, blank=True)
sexo = models.CharField(max_length=1, null=True)
correo = models.EmailField(max_length=254, null=True)
estado_civil = models.CharField(max_length=1, null=True)
def __unicode__(self):
return unicode(self.id_usuario)
My views.py:
def crear_usuario_fidetel(request):
"""
Muestra el formulario que permite ingresar los datos del usuario de
fidetel cuando aún no han sido creados
@return: El formulario que permite ingresar los datos del usuario de
fidetel.
"""
usuario_fidetel = request.session['usuario_fidetel']
if(usuario_fidetel.id_usuario):
usuario_fidetel = UsuarioFidetel.objects.get(id_usuario=usuario_fidetel['id'])
return render_to_response('fidetel/usuario_fidetel.html',
{ },
context_instance=RequestContext(request))
usuario_fidetel_form = FormularioUsuarioFidetel(instance=usuario_fidetel)
return render_to_response('fidetel/usuario_fidetel.html',
{ 'form': usuario_fidetel_form },
context_instance=RequestContext(request))
@autenticacion_fidetel_requerida
@permiso_requerido([PERMISOS_FONDO['CREAR_USUARIO_FIDETEL'],
PERMISOS_FONDO['MODIFICAR_USUARIO_FIDETEL']])
@transaction.commit_on_success
My urls.py:
from models import UsuarioFidetel
from fidetel.views import crear_usuario_fidetel
urlpatterns = patterns('fidetel.views',
url(r'^usuario/crear/$', 'crear_usuario_fidetel', name='crear_usuario_fidetel'),
When I visit this url, I'm still having this error:
TypeError at /fidetel/usuario/crear/
'UsuarioFidetel' object has no attribute '__getitem__'
Some ideas? Can't figure out what's wrong here...
Thanks in advance!
Upvotes: 0
Views: 81
Reputation: 2688
Try
if(usuario_fidetel.id_usuario):
usuario_fidetel = UsuarioFidetel.objects.get(id_usuario=usuario_fidetel.id_usuario)
i.e. usuario_fidetel.id_usuario
and not usuario_fidetel['id']
Upvotes: 1