Djangoのモデル(Model)定義・操作に関する解説ページ11選

はじめに

Djangoのモデル(Model)に関する解説ページについて

  • できるだけ日本語の記事
  • 網羅性がある記事
  • 何かに特化した記事

の観点で集めました。

前半5記事はモデル定義、後半6記事はモデル操作に関するものとなります。

なお、マイグレーションの解説記事は今回は載せていません。 機会があれば別途まとめたいと思います。

モデル定義関連

1.【一部英語・Django2.1・Django公式】モデルフィールドリファレンス

https://docs.djangoproject.com/ja/2.1/ref/models/fields/

完全に翻訳化されてはおらず、一部英語が残っています。

以下の一覧・解説・サンプルコードが掲載されています。

  • CharFieldなどのフィールドの型
  • uniqueなどのフィールドオプション
  • ForeinKeyなどのリレーションシップフィールド

2. 【日本語・Django1.0・Django公式】モデルの作成

http://djangoproject.jp/doc/ja/1.0/topics/db/models.html

ひとつ前のページのDjango1.0版に相当します。

ひとつ前のページで翻訳化されていない部分を、バージョンの違いには注意しつつ、このページで補完すると良いかと思います。

3.【日本語・Django2.0・Qiita】モデルフィールド 設定テンプレート

https://qiita.com/okoppe8/items/a1149b2be54441951de1

以下の一覧・解説・サンプルコードが掲載されています。

  • CharFieldなどのフィールドの型
  • nullなどのフィールドオプション
  • ForeinKeyなどのリレーションシップフィールド

4.【日本語・Django2.0・Qiita】モデルフィールド:データベースフィールド 型対応表

https://qiita.com/okoppe8/items/13ad7b7d52fd6a3fd3fc

以下の一覧・SQLが掲載されています。

  • モデルフィールドとMySQL, PostgreSQL, SQLite3, SQL Serverの型対応表

5.【日本語・Django1.11・Qiita】モデルフィールドリファレンスの一覧

https://qiita.com/nachashin/items/f768f0d437e0042dd4b3

以下の一覧・解説が掲載されています。

  • CharFieldなどのフィールドの型
  • nullなどのフィールドオプション
  • ForeinKeyなどのリレーションシップフィールド
  • get_internal_type()などのField API
  • Field.auto_createdなどのフィールド属性
  • Field.many_to_manyなどのフィールドリレーションのための属性

モデル操作関連

6.【日本語・Django2.0・Qiita】データベース操作 についてのまとめ

https://qiita.com/okoppe8/items/66a8747cf179a538355b

以下について解説されています。

  • Django公式サイトのモデル関連各記事へのリンク集
  • クエリ(QuerySet API)一覧
  • クエリ、クエリセットとは何かについて
  • gt, ltなどの検索キーワード(フィールドルックアップ)について
  • Upper()などのデータベース関数について
  • add()などの対Nリレーション操作専用メソッドについて
  • Avg()などの集計関数について

7.【日本語・Django2.1・Qiita】Djangoのモデル操作でobjectsが必要な場合・不要な場合を理解する

https://qiita.com/shonansurvivors/items/12b087cf5ab591273c8c

Model.objects.all()などで登場するobjects(モデルマネージャ)は何であるのか、モデルを操作する時に必要な場合、不要な場合を解説しています。

Djangoはモデル操作メソッドを連結できますが、この記事を読むと

  • Model.objects.filter(id=1).exits()は正常
  • Model.objects.get(id=1).exits()はエラー

になる理由が理解できるかと思います。

8. 【一部英語・Django2.1・Django公式】クエリを作成する

https://docs.djangoproject.com/ja/2.1/topics/db/queries/

Djangoのモデル操作に関する各種の概念、考え方について解説されています。

完全に翻訳化されてはおらず、一部英語が残っています。

9. 【日本語・Django1.0・Django公式】クエリを生成する

http://djangoproject.jp/doc/ja/1.0/topics/db/queries.html

ひとつ前のページのDjango1.0版です。

ひとつ前のページで翻訳化されていない部分を、バージョンの違いには注意しつつ、このページで補完すると良いかと思います。

10.【英語・Django2.1・Django公式】QuerySet API reference

https://docs.djangoproject.com/ja/2.1/ref/models/querysets/

Djangoのモデル操作のメソッドの一覧および解説です。

URLとしては日本語のページなのですが、翻訳化がほぼ未実施なため、全編英語です。

11. 【日本語・Django2系・ブログ】ManyToMany フィルターなどのオブジェクト操作一覧

多対多(ManyToMany)の関係を持つモデルの操作に特化して解説されています。

https://www.djangobrothers.com/blogs/many_to_many_objects/

終わりに

以上です。参考になれば幸いです。

Django公式サイトの2系記事の日本語化がまだ進んでいないのが残念ですね。

英語版でもGoogle翻訳など活用して読んでいきたいと思います。