Menu
CoddyTech

行の作成

CoddyのDjangoジャーニー「モデルと管理サイト」セクションの一部。レッスン 7/23。

本棚には新しい本が必要ですが、SQLを書く必要はありません。SQLはデータベースが使う言語です。DjangoのORMは、Pythonの呼び出しをSQLに変換します。すべてのモデルにはマネージャーBook.objectsがあり、これを通じてそのテーブルにアクセスできます。この章では、explore.pyにORMコードを書きます。「Run」を実行すると9冊の本が追加され、その後、python manage.py shell < explore.pyを実行した場合と同じようにファイルが実行され、出力がコンソールに表示されます。

Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")

create()は1ステップで行を作成して保存します。省略したフィールドにはデフォルト値が使われます。間に変更を加えて2ステップで行う場合は、次のようになります。

silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()

save()が実行されるまでは、オブジェクトはPython内にのみ存在し、そのidはNoneです。

challenge icon

チャレンジ

簡単

explore.pyのprintの上に、次の内容を記述します。

  • Project Hail MaryをAndy Weir著、2021年、12.99、SFとして、1ステップで追加します。
  • Klara and the SunをKazuo Ishiguro著、2021年、11.50で追加します。Bookを作成して保存します。

「Run」を押します。コンソールには11 books on the shelfと表示され、Dataタブには新しい2行が表示されます。

自分で試してみよう

from books.models import Book

# ここに2冊の本を追加してください。


print(Book.objects.count(), "books on the shelf")

モデルと管理サイトのすべてのレッスン

自分で練習してみよう: Djangoプレイグラウンド