dockerもdjangoも素人ですごく苦労したのでメモ。
変なこと書いていたら教えてください。
IntelliJのバージョン
IntelliJ IDEA 2018.1 (Ultimate Edition)
多分PyCharmとかでもやり方は同じだと思う。
状況
django(djangorestframework)とmysqlをそれぞれ別々のcontainerで起動。
djangoをIntelliJでデバッグしながら開発したい。
djangoは./manage.py runserver 0.0.0.0:8000で動かしている。
やりかた
Project Structure の設定
⌘+;のProject StructureのModulesで下記のように設定する。

Djangoが表示されていない場合は一度-で消して再度+すれば出てくると思います。
Django project root:
manage.py がある場所を指定
Settings:
settings.pyを指定
Manage script:
manage.pyを指定
Edit Configurationsの設定
django用の起動設定を作成します。
Run > Edit Configurations とか、右上からEdit Configurationsを開く

Django serverがないときはmoreをクリックするとあるはず。

Host:
0.0.0.0
=> 重要ポイントその1
Port:
django動かしてるポート (8000)
Environment variables:
勝手に入っている
DJANGO_SETTINGS_MODULE=api.settings おそらくこれが重要
Python Interpreter:
Project SDK として指定しているdockerのpythonを指定
Docker container settings:
各々の環境に合わせて設定。
ここでハマった。
横の...をクリックでGUIで指定できます。

Network mode:
=> 重要ポイントその2
mysqlが動いているネットワーク名を指定
$ docker network lsで確認できます。
そのほかの項目はdocker-compose.ymlと合わせる。
実行
1.何らかの方法でmysqlのdockerを起動
私の場合は
$ docker-compose up db
2.上記で作成した起動ファイルを実行
設定ファイル名を選択して虫マークをクリック。



