sql >> Databáze >  >> RDS >> PostgreSQL

TypeError:Objekt 'int' nepodporuje indexování

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

Tím se změní some_id parametr do seznamu, který je indexovatelný. Za předpokladu, že vaše metoda funguje tak, jak si myslím, že ano, mělo by to fungovat.

K chybě dochází, protože někde v této metodě se pravděpodobně pokouší iterovat přes tento vstup nebo přímo do něj indexovat. Možná takto:some_id[0]

Tím, že z něj uděláte seznam (nebo iterovatelný), umožníte mu indexovat se do prvního prvku, jako je tento.

Můžete z něj také vytvořit n-tici takto:(some_id,) který má tu výhodu, že je neměnný.



  1. proxysql-admin Alternativy - ClusterControl ProxySQL GUI

  2. Žádné jedinečné nebo vyloučení omezení neodpovídá ON CONFLICT

  3. MySQL vs MariaDB vs Percona Server:Porovnání bezpečnostních funkcí

  4. Jak aktualizovat dvě tabulky v jednom příkazu v SQL Server 2005?