フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

django + mongodb + djongoでチュートリアルを試してみる

djangoチュートリアル

djangoでmongodbを利用した場合のチュートリアルの記述がない。この記事ではチュートリアルをmongodbで利用する際のポイントをざっくりまとめました。

https://docs.djangoproject.com/ja/3.0/intro/tutorial02/

ENGINE -- 'django.db.backends.sqlite3'、 'django.db.backends.postgresql'、 'django.db.backends.mysql' または 'django.db.backends.oracle' のいずれかにします。その他のバックエンド も利用可能です。

modelのimportの指定を変更する

(変更前)
$ from django.db import models

(変更後)
$ from djongo import models
# python3.8 manage.py makemigrations polls
Migrations for 'polls':
  polls/migrations/0001_in
    - Create model Queston
    - Create model Choice

# python3.8 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
  Applying polls.0001_initial... OK

mongodbを確認するとコレクションが作成されていることが確認できます。

> show collections
__schema__
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session
polls_choice
polls_question

管理画面からアクセスできるか確認する

作成したアプリケーションフォルダ内にあるadmin.pyを下記のように指定する

from django.contrib import admin
from .models import Question, Choice

# Register your models here.

admin.site.register(Question)
admin.site.register(Choice)
  • djangoの管理画面からコレクションが確認できる f:id:PX-WING:20200119005633p:plain

開発で利用しているPCはこちらです。