PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

TypeError:'int'-Objekt unterstützt keine Indizierung

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

Dadurch wird die some_id Parameter in eine Liste, die indexierbar ist. Unter der Annahme, dass Ihre Methode so funktioniert, wie ich denke, sollte dies funktionieren.

Der Fehler tritt auf, weil irgendwo in dieser Methode wahrscheinlich versucht wird, über diese Eingabe zu iterieren oder direkt darauf zu indizieren. Möglicherweise so:some_id[0]

Indem Sie es zu einer Liste (oder iterierbaren) machen, erlauben Sie ihm, so in das erste Element zu indizieren.

Sie könnten es auch zu einem Tupel machen, indem Sie Folgendes tun:(some_id,) was den Vorteil hat, unveränderlich zu sein.