Django ORMを理解する

ORM基本

csvインポート・エクスポートの練習時、models.py(特にForeignKey)のデータで手間取ったので、一旦、Django Fixtures (from csv files) で初期データを作成し、ORMの基礎を学びます。(データベース理解が浅い私のような初心者向けです)

ORM = Object Relational Mapping Layer:データーベースのテーブルに、簡単にデータをコンバートできる。CRUD時、SQLクエリ不要。

アプリ(python) <=> ORM (python to SQL) <=> アダプタ/ ドライバ <=> Database

アダプタ/ ドライバ = Psycopg2 (PostgreSQLとDjangoをつなぐ)など

<良い点>

MySQLからPostgreSQLに簡単に移行できる

SQLをあまり知らないなら、Djangoでデータを簡単に扱える

<悪い点>

SQLの方がデータの微調整がうまいことできる

Django ORM: オブジェクトをテーブルにやりとりするときに、うまく行かない場合がある

こちらの動画を参考にしています

Djangoの場合: Students.objects.all()

SQLクエリの場合:Select * from Student

python(アプリ)を書けば、データベースをうまいこと(CRUD)やってくれる、という事みたいです。

おすすめ記事