Django använder inte ?
för parametreringen använder den istället formatsträngsstilsparametrar, dvs '%s' % 'hello'
, etc. Se Att skicka parametrar till raw [Django docs]
.
Det verkar som att du vill göra en fråga i formen LIKE '<SOMETHING>%'
, för det första, använd inte ?
(använd %s
istället), nästa istället för att försöka sammanfoga i frågan sammanfoga i python sig själv.
Därför bör din fråga vara som (Trunkerade irrelevanta delar):
cursor.execute("SELECT ... a.gene_name LIKE %s ORDER BY ...", ('{}%'.format(gene),))