DjangoのenvironでDATABASESにOPTIONSを設定できない説【解決案をいただきました】

2021年9月22日

コメントにて解決案をいただきました!
公式ドキュメントには書いてないですが、GitHubを見るとquery parameterがOPTIONSに対応しているようです。
https://github.com/joke2k/django-environ/blob/main/environ/environ.py#L512

今回はDjangoのライブラリの一つであるdjango-environでDATABASESを設定したときにOPTIONSを設定できない可能性があるということについてお話ししていこうと思います。



DjangoのenvironでDATABASESにOPTIONSを設定できない説

タイトルの通りです。
Djangoのenvironを使用したときに、DATABSESにenv.db()を使って

のようにする方法がありますが、env.db()を使ったときにOPTIONSを設定できない可能性があります。

DATABASESを設定するときには、省略せずに下記のように書く必要がありそうです。

下記がdjango-environの公式ドキュメントのリンクになりますが、2020年8月現在「OPTIONS」などで検索をかけてもヒットしません。
https://django-environ.readthedocs.io/en/latest/index.html

Google検索でざっと探してみましたが、やはりOPTIONSを設定するためにはdjango-environの書き方ではなく一般的なDATABASESの定義の書き方を採用しなければならなそうです。
開発環境や本番環境でDBを切り替えたい場合は、Djangoのsettingsを分けるなどした方が良さそうですね。

もしenv.db()を使ったOPTIONSを設定する方法を知っていたらコメント欄にて教えていただければ幸いです。

終わりに

今回はDjangoのライブラリの一つであるdjango-environでDATABASESを設定したときにOPTIONSを設定できない可能性があるということについてお話しいたしました。

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

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Python

Posted by ちこ