Django не използва ?
за параметризирането, по-скоро използва параметри за стил на форматиращ низ, т.е. '%s' % 'hello'
и т.н. Вижте Предаване на параметри в raw [Документи на Django]
.
Изглежда, че искате да направите заявка във формата LIKE '<SOMETHING>%'
, първо не използвайте ?
(използвайте %s
вместо), след това, вместо да се опитвате да свържете в заявката, свържете в python себе си.
Следователно вашата заявка трябва да бъде като (Скъсени неподходящи части):
cursor.execute("SELECT ... a.gene_name LIKE %s ORDER BY ...", ('{}%'.format(gene),))