J'ai essayé la requête suivante avec Django,requêtes de filtrage dans Django avec sqlite
def search(search_text):
q = Info.objects.filter(title__contains=str(search_text))
print q.query
La requête qui s'imprimé est
SELECT "d"."id", "d"."foo" FROM "d_info" WHERE "d_info"."title" LIKE %hello% ESCAPE '\'
La requête échoue parce que le texte qui suit LIKE ne avoir des citations autour d'elle. La requête réussit quand je lance la requête sur l'invite SQL avec des guillemets autour du texte qui suit LIKE comme ci-dessous
SELECT "d"."id", "d"."foo" FROM "d_info" WHERE "d_info"."title" LIKE '%hello%' ESCAPE '\'
Comment puis-je obtenir Django pour ajouter les guillemets autour de la search_text pour que la requête réussit?
J'utilise Djanog avec sqlite3
Ce n'est pas différent de ce que j'ai. Vouliez-vous dire autre chose? – rampr
Je voulais demander, avez-vous exécuté la requête derrière le jeu de questions (paresseux)? 'Imprimer q.count()' vous indiquera si la requête a bien démarré. –
Désolé j'ai manqué la 2ème déclaration, il s'avère que la requête fonctionne dans Django, mais lorsqu'on lui demande d'imprimer la requête et si j'exécute la même requête dans un shell mysql ou un shell sqlite, ça ne marche pas. Django imprime probablement la requête erronée. – rampr