Django+PostgreSQLでcursorで変数としてListを指定したいとき

今回はDjango+PostgreSQLの環境でcursorで生のSQLを流す際に変数としてListを入れてあげたい場合はどのようにするかについてご紹介いたします。



Django+PostgreSQLでcursorで変数としてListを指定したいとき

あくまで例ですが、下記のような生のSQLをDjango+PostgreSQL環境で流したいとします。

しかし、これではSQLでエラーが出てしまいます。

Django+PostgreSQL環境の場合、Listを変数として渡してあげると内部で

のような変換がされてしまいます。

サンプルの例だと、

のようなSQLが発行されてしまうわけです。

結論を言うと、Listを変数として渡してあげるパターンがある場合はSQLでANY句を用いて検索などするようにしましょう。

終わりに

今回はDjango+PostgreSQLの環境でcursorで生のSQLを流す際に変数としてListを入れてあげたい場合はどのようにするかについてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

Youtubeチャンネル開設いたしました。
よろしければチャンネル登録お願いいたします。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






PostgreSQL

Posted by ちこ