PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

TypeError:Đối tượng 'int' không hỗ trợ lập chỉ mục

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

Điều này biến some_id tham số vào danh sách, có thể lập chỉ mục. Giả sử phương pháp của bạn hoạt động như tôi nghĩ, điều này sẽ hoạt động.

Lỗi đang xảy ra bởi vì ở đâu đó trong phương thức đó, nó có thể đang cố gắng lặp lại đầu vào đó hoặc lập chỉ mục trực tiếp vào nó. Có thể như thế này:some_id[0]

Bằng cách đặt nó thành một danh sách (hoặc có thể lặp lại), bạn cho phép nó lập chỉ mục vào phần tử đầu tiên như vậy.

Bạn cũng có thể làm cho nó thành một bộ bằng cách thực hiện điều này:(some_id,) có lợi thế là không thể thay đổi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàng đợi công việc dưới dạng bảng SQL với nhiều người tiêu dùng (PostgreSQL)

  2. Làm thế nào để chọn nhiều hơn 1 bản ghi mỗi ngày?

  3. Ưu và nhược điểm của việc thực hiện các phép tính trong sql so với trong ứng dụng của bạn là gì

  4. Cài đặt Odoo trên Mac Không thể Thực thi Lệnh LESSC

  5. Oracle đến PostgreSQL:Cú pháp nối ngoài ANSI trong PostgreSQL