Django không sử dụng ?
đối với tham số hóa, thay vào đó nó sử dụng các tham số kiểu chuỗi định dạng, tức là '%s' % 'hello'
, v.v. Xem Truyền tham số vào thô [Tài liệu Django]
.
Có vẻ như bạn muốn thực hiện một truy vấn có dạng LIKE '<SOMETHING>%'
, trước hết không sử dụng ?
(sử dụng %s
thay vào đó), tiếp theo thay vì cố gắng nối trong truy vấn nối trong python chính nó.
Do đó, truy vấn của bạn sẽ giống như (Đã lược bớt các phần không liên quan):
cursor.execute("SELECT ... a.gene_name LIKE %s ORDER BY ...", ('{}%'.format(gene),))