Django n'utilise pas ?
pour le paramétrage, il utilise plutôt des paramètres de style de chaîne de format, c'est-à-dire '%s' % 'hello'
, etc. Voir Passer des paramètres dans raw [Documents Django]
.
Il semble que vous vouliez faire une requête de la forme LIKE '<SOMETHING>%'
, premièrement n'utilisez pas ?
(utilisez %s
à la place), suivant au lieu d'essayer de concaténer dans la requête concaténer en python lui-même.
Par conséquent, votre requête devrait ressembler à (parties non pertinentes tronquées) :
cursor.execute("SELECT ... a.gene_name LIKE %s ORDER BY ...", ('{}%'.format(gene),))