PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

TypeError:Обектът 'int' не поддържа индексиране

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

Това превръща some_id параметър в списък, който може да се индексира. Ако приемем, че вашият метод работи така, както мисля, че работи, това трябва да работи.

Грешката се случва, защото някъде в този метод той вероятно се опитва да повтори този вход или да индексира директно в него. Възможно е така:some_id[0]

Като го направите списък (или итерируем), вие му позволявате да се индексира в първия елемент по този начин.

Можете също да го направите в кортеж, като направите това:(some_id,) което има предимството да е неизменно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Самопредоставяне на потребителски акаунти в PostgreSQL чрез непривилегирован анонимен достъп

  2. Django bulk_create с игнориране на редове, които причиняват IntegrityError?

  3. Върнете SETOF редове от функцията PostgreSQL

  4. Преглед на компилацията точно навреме (JIT) за PostgreSQL

  5. PostgreSQL:използване на изчислена колона в същата заявка