Docs Menu
Docs Home
/ / /
Diango MongoDBバックエンド
/

MongoDB へのデータの書込み (write)

アプリケーションのモデルを使用して、sample_mflixデータベースに保存されているドキュメントを更新できます。 ドキュメントをアップデートするには、 Pythonインタラクティブシェルを入力し、モデル オブジェクトの作成、アップデート、削除関数を呼び出します。

1

プロジェクトの ルートディレクトリから、次のコマンドを実行してPython シェルを入力します。

python manage.py shell
2

Python シェルから次のコードを実行して、datetimeオブジェクトを作成するためのモデルとモジュールをインポートします。

from sample_mflix.models import Movie, Award, Viewer
from django.utils import timezone
from datetime import datetime
3

次のコードを実行して、映画「"Minari"」に関するデータを Awardオブジェクトに保存する Movieオブジェクトを作成します。

movie_awards = Award(wins=122, nominations=245, text="Won 1 Oscar")
movie = Movie.objects.create(
title="Minari",
plot="A Korean-American family moves to an Arkansas farm in search of their own American Dream",
runtime=217,
released=timezone.make_aware(datetime(2020, 1, 26)),
awards=movie_awards,
genres=["Drama", "Comedy"]
)
4

前のステップで作成された Movieオブジェクトには不正確なデータがあります。runtime の値は 217 ですが、正しい runtime 値は 117 です。

次のコードを実行して、オブジェクトの runtime 値をアップデートします。

movie.runtime = 117
movie.save()
5

また、Viewer モデルを使用して、 sample_mflix.usersコレクションにドキュメントを挿入することもできます。 次のコードを実行して、"Abigail Carter" という名前の映画閲覧者に関するデータを保存する Viewerオブジェクトを作成します。

viewer = Viewer.objects.create(
name="Abigail Carter",
email="abigail.carter@fakegmail.com"
)
6

「Alliser Twin」という名前の 1 人の映画ビューアが、映画ストリーミングサイトを使用しなくなりました。 このビューアの対応するドキュメントをデータベースから削除するには、次のコードを実行します。

old_viewer = Viewer.objects.filter(name="Alliser Thorne").first()
old_viewer.delete()
7

次のコードを実行中てPython シェルを終了します。

exit()

次に、プロジェクトの ルートディレクトリから次のコマンドを実行中てサーバーを起動します。

python manage.py runserver
8

Movieオブジェクトがデータベースに挿入されたことを確認するには、 http://:127.0.0.1 8000/recent_movies/ にアクセスします。URL。 sample_mflix.moviesデータベースに 5 つの映画のリストが表示され、新しい映画が上部に表示されます。

次に、Viewer http://:127.0.0.1 8000/views_list/ にアクセスして、データベースに オブジェクトが挿入されていることを確認します。URL。 sample_mflix.usersデータベースには 10 個のビューア名のリストが表示され、新しいビューが上部に表示されます。 前の手順で削除された「Alliser Twin」という名前のビューがこのリストに表示されないことを確認します。

これらの手順を完了すると、 sample_mflixサンプルデータベースにドキュメントを挿入および編集しました。

戻る

アプリケーションの作成