cursor.execute
いくつかの理由で、2番目のパラメーターの内容に対してメソッドによって実行される暗黙的な引用を待つのではなく、文字列値の明示的な引用(構築されたSQLクエリの一部になる)を実行したいと思います。
「暗黙の引用」とは、次のことを意味します。
value = "Unsafe string"
query = "SELECT * FROM some_table WHERE some_char_field = %s;"
cursor.execute( query, (value,) ) # value will be correctly quoted
私はそのようなものを好むでしょう:
value = "Unsafe string"
query = "SELECT * FROM some_table WHERE some_char_field = %s;" % \
READY_TO_USE_QUOTING_FUNCTION(value)
cursor.execute( query ) # value will be correctly quoted, too
READY_TO_USE_QUOTING_FUNCTION
Python DB API仕様で期待されるこのような低レベルですか( PEP 249ドキュメントでそのような機能を見つけることができませんでした)。そうでない場合は、おそらくPsycopg2がそのような機能を提供しますか?そうでない場合、おそらくDjangoはそのような機能を提供しますか?私はそのような関数を自分で書きたくないのですが...