NeoVe
NeoVe

Reputation: 3897

Issue: object has no attribute '__getitem___' on django 1.5.7

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

Answers (1)

Steven
Steven

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

Related Questions