2017-03-11 11 views
-1

私のクエリの書式文字列中に変換されない引数は次のとおりです。完全に文字列フォーマット時に変換されていない引数としてエラー:完全

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

取得エラー。

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

解決方法

+0

デバッグが容易なので、完全なエラースタックトレースを投稿するために質問を編集できますか? –

+0

print(z)とは何ですか?あなたの文字列はzではないかもしれません。 – putonspectacles

+0

zはユーザー名として印刷されています。 – zinc

答えて

0

あなたはタプルを渡す必要があります。

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

あなたが本当にジャンゴを使用している場合は、セッションから誰かをログアウトする正しい方法は、詳細なin the documentationとして、logoutビューを使用することです。

+0

ProgrammingError:(1064、 "SQL構文にエラーがあります。正しい構文についてはMySQLサーバのバージョンに対応するマニュアルをチェックして、 'table =' username '' '1行目付近で使用してください) – zinc

+0

それは別の問題です。 Pythonと関係があります。 –

+0

Burhanに感謝しますが、なぜタプルを渡す必要がありますか? – zinc