Mit "wie" in einem cursor-Abfrage mit einem parameter in python (django)
Ich weiß, das ist vielleicht etwas dumm, aber ich beschloss, zu Fragen keiner Weise.
Habe ich versucht die Abfrage so etwas wie:
cursor.execute("select col1, col2 \
from my_tablem \
where afield like '%%s%'
and secondfield = %s
order by 1 desc " % (var1, var2) )
Aber ich bekomme einen Fehler in der wie-Satz. Es ist nicht wie die extra %, die ich brauche, um die alle Ergebnisse enthält, die die ersten %s Wert.
Ideen?
TIA!
Vielen Dank für Eure schnellen Antworten! StackOverflow Regeln, die ich habe versucht, Ihr (beide) Vorschläge, aber es hat nicht funktioniert. Obwohl ich eine Lösung gefunden, die ich nicht beenden mit: like '%%%%%s%%%%' PD: S. Lott: Die eigentliche Abfrage eine komplexere Gruppierung und Sortierung der Abfrage
egal, wie Komplex es ist. Die Frage steht immer noch. Warum bist du nicht mit der Django ORM?
Nun, Es ist eine Abfrage mit zwei Tabellen (große Tabellen), diese Gruppe von einem Schlüssel, und dann tritt man eine andere id. Ich dachte Gruppierung kann nicht getan werden in django w/o-Abfragen oft?
egal, wie Komplex es ist. Die Frage steht immer noch. Warum bist du nicht mit der Django ORM?
Nun, Es ist eine Abfrage mit zwei Tabellen (große Tabellen), diese Gruppe von einem Schlüssel, und dann tritt man eine andere id. Ich dachte Gruppierung kann nicht getan werden in django w/o-Abfragen oft?
InformationsquelleAutor Juan129 | 2009-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, warum bist du nicht mit der Django ORM?
Zweite, sicher sein, Sie sind immer die SQL, die Sie erwarten.
Dritten, Ihre Methode hat eine Sicherheitslücke namens SQL-Injection-Angriffe. Sie sollten wirklich nicht tun SQL wie diese.
Wenn Sie unbedingt müssen, Dinge tun, außerhalb Django - ORM, verwenden Sie bind-Variablen in der Abfrage, nicht die string-substitution. Sehen http://docs.djangoproject.com/en/dev/topics/db/sql/#performing-raw-sql-queries.
InformationsquelleAutor S.Lott
hack-Zeichenfolge '%' in search string?
InformationsquelleAutor brobas
Hatte ich ein ähnliches Problem. Ich habe versucht, die Suche unter den verketteten Namen Felder. Meine Anfrage war so etwas wie:
War das problem, dass die %% brachen meine Abfrage. Die Lösung, die ich gewickelt war:
InformationsquelleAutor Seth Gottlieb
(Postgresql 9.1)
InformationsquelleAutor Edu Gasser