はじめに
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翻訳など活用して読んでいきたいと思います。