sql >> Base de Datos >  >> RDS >> PostgreSQL

TypeError:el objeto 'int' no admite la indexación

cursor.execute('
    SELECT "Indicator"."indicator" 
    FROM "Indicator" 
    WHERE "Indicator"."some_id" =   %s;', [some_id])

Esto convierte el some_id parámetro en una lista, que es indexable. Suponiendo que su método funcione como creo que lo hace, esto debería funcionar.

El error ocurre porque en algún lugar de ese método, probablemente esté intentando iterar sobre esa entrada o indexarla directamente. Posiblemente así:some_id[0]

Al convertirlo en una lista (o iterable), permite que se indexe en el primer elemento de esa manera.

También podría convertirlo en una tupla haciendo esto:(some_id,) que tiene la ventaja de ser inmutable.