2017-03-11 6 views
-1

Meine Frage ist:Fehler in Python: keine Argumente vollständig während Zeichenfolge konvertiert Formatierung

z = request.session['username'] 
cursord.execute("delete from table where column = %s",z) 

Erste Fehler als nicht Argumente vollständig während Zeichenfolge Formatierung umgewandelt.

query = query % tuple([db.literal(item) for item in args]) TypeError: not all arguments converted during string formatting "GET /logout/ HTTP/1.1" 500 68562

Wie löst man das?

+0

Können Sie Ihre Frage bearbeiten, um den kompletten Fehler-Stack-Trace zu veröffentlichen, da er einfach zu debuggen ist. –

+0

Was ist print (z), z ist möglicherweise nicht die Zeichenfolge, die Sie erwarten – putonspectacles

+0

z druckt als Benutzername – zinc

Antwort

0

Sie benötigen ein Tupel weitergeben müssen:

cursord.execute("delete from table where column = %s", (z,)) 

Wenn Sie wirklich django verwenden, die richtige Art und Weise jemand abzumelden von der Sitzung der logout Ansicht, so detailliert in the documentation zu verwenden ist.

+0

Ich habe versucht, aber es gibt Programmierfehler. ProgrammingError: (1064, "Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe 'table =' Benutzername '' Zeile 1" entspricht) – zinc

+0

Das ist ein anderes Problem und nichts mit Python zu tun haben. –

+0

Danke Burhan, aber warum müssen Tupel übergeben? – zinc

Verwandte Themen