PostgreSQLとの接続

djangoは標準でsqliteのデータベースが作成されています。

PostgreSQLの方が有用性が高いのでPostgreSQLへの切り替えが推奨されています。

設定方法

  1. この記事に従いPostgreSQLをインストールします。
  1. Git Bashなどで以下のコマンドを実行し、ユーザー「postgres」としてログインします。
psql -U postgres postgres
  1. djangoプロジェクト用のデータベースを作成します。
CREATE DATABASE データベース名;
  1. djangoプロジェクトのsettings.pyをエディタで開き、DATABASESをsqliteからPostgreSQLに変更します。
    NAMEはデータベース名、USERはデータベースにアクセスする際に利用するユーザー、HOSTPORTは標準だとlocalhost:5432です。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'test',
        'USER': 'postgres',
        'PASSWORD': 'postgres321',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}
  1. 仮想環境に必要なパッケージをインストールします。
pip install psycopg2-binary
  1. 変更点をmigrateします。
python manage.py makemigrations
python manage.py migrate
  1. データベース管理者であるsuperuserはデータベースごとに存在するため、新たに作成する必要があります。
winpty python manage.py createsuperuser