Django bruger ikke ?
til parametreringen bruger den snarere formatstrengstilparametre, dvs. '%s' % 'hello'
, osv. Se Overførsel af parametre til rå [Django docs]
.
Det ser ud til, at du vil lave en forespørgsel i formen LIKE '<SOMETHING>%'
, skal du for det første ikke bruge ?
(brug %s
i stedet), næste i stedet for at forsøge at sammenkæde i forespørgslen sammenkæde i python sig selv.
Derfor skal din forespørgsel være som (Trunkeret irrelevante dele):
cursor.execute("SELECT ... a.gene_name LIKE %s ORDER BY ...", ('{}%'.format(gene),))