DjangoをPostgreSQLに接続する方法

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

はじめに

こんにちは、アプリチームのあさりです。今回は、Djangoで使用するデータベースをデフォルトのSQLiteからPostgreSQLに変更する方法を紹介します。このブログでは、Djangoの導入とPostgreSQLのインストール、DBの作成は既に済んでいる前提で話を進めます。Djangoの導入については、こちらの記事を参考にしてください。最新のDjango5.0では、PostgreSQL12以上をサポートしてます。

必要なモジュールのインストール

PythonでPostgreSQLデータベースと通信するためのアダプターPsycopg2をインストールしましょう。Django5.0では、psycopg2のバージョン2.8.4以上が推奨されています。

pip install psycopg2

settings.pyの設定変更

デフォルトでは、settings.pyで次のようにSQLiteが設定されています。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": "mydatabase",
    }
}

PostgreSQLに接続するために上記を次のように編集しましょう。

DATABASES = {
    'default': {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "name", #ご自身が作成したデータベース名
        "USER": "user", #ご自身が設定したユーザー名
        "PASSWORD": "password", #ご自身が設定したパスワード
        "HOST": "localhost",
        "PORT": "5432",
    }
}

設定は以上です。次のコマンドを実行してご自身が定義したモデルのテーブルを作成しましょう。

python manage.py makemigrations
python manage.py migrate

接続の確認

PostgreSQLとの接続をDjangoの管理サイトで確認するために次のコマンドでスーパーユーザーを作成しましょう。

python manage.py createsuperuser

Username,Email address, Passwordの設定が求められます。ここで設定したUsernameとPasswordは管理サイトにログインする際に必要となります。ここまで完了したら、次のコマンドでサーバーを立てて、管理サイトにアクセスしてみましょう。

python manage.py runserver

実行したらブラウザで「http://127.0.0.1:8000/admin」にアクセスしてみましょう。先ほど設定したUsernameとPasswordで管理サイトにログインし、テーブルが作成されていることを確認しましょう。

おわりに

今回は、DjangoをPostgreSQLに接続する手順を紹介しました。DjangoはPostgreSQL以外にもMariaDB、MySQL、Oracleといったデータベースを公式にサポートしています。他にもサードパーティーにより提供されているデータベースへの接続をサポートしているものも多数あるそうなので気になった方は調べてみてください。

参考:Djangoのデータベース

アバター画像
About あさり 6 Articles
サイオステクノロジー2023年新卒入社の新米エンジニアです。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる