Django select_relatedを使ってDBアクセスを高速化する方法
DBに何度もアクセスしてデータを取り出す事は非効率になるため、可能な限り少ないクエリで必要なデータを取得すべきです。 Djangoではselect_related()やprefetch_related()を活用する事でD...
DBに何度もアクセスしてデータを取り出す事は非効率になるため、可能な限り少ないクエリで必要なデータを取得すべきです。 Djangoではselect_related()やprefetch_related()を活用する事でD...
削除したいモデルのデータがない場合、エラーとして処理すべきパターンと、何もしなくて良いパターンがあります。 選んだ仕様に応じて設計やコーディングが変わってきます。 今回は削除したいモデルのデータがない場合の対処法について...
Djangoのモデルに設定するフィールドには文字列を表す、CharFieldとTextFieldがあります。 今回は、CharFieldとTextFieldの違いを紹介します。 CharField(max_length ...
テンプレートに現在表示しているページのURLやパスを表示する方法を紹介します。 URLを表示する方法 以下のコードをテンプレートに書き込むとURLが表示されます。 現在表示しているページが http://127.0.0....
Djangoでモデルのレコードを削除する方法を紹介します。 deleteメソッド クエリセットやモデルのインスタンスに対してdeleteメソッドを使えば、レコードを削除できます。 以下のコードはクエリセットに対してdel...
複数のカラムの組み合わせに対してユニーク制約をつけたい事があります。この制約は一般的に”複合ユニーク制約”といわれます。 今回は、Djangoで複合ユニーク制約を設定する方法を解説します。 複合ユ...
Djangoのモデルで1対1の関係を作成する方法は2つあります。 OneToOneFieldを使う ForeignKeyにunique=Trueを設定して使う どちらの1対1の関係を作成できますが、リレーションの「逆」側...
モデルに1対多の外部キー制約を設定できるForeignKeyにはon_deleteというキーワード引数があります。 on_deleteは参照先のデータが削除された時の動作を設定できます。 今回は、on_deleteに設定...
Djangoでマイグレーションを実行したが、ミスが発覚したため元に戻したい時があります。 修正用のマイグレーションファイルを作らなくても、コマンドで簡単に元に戻す事ができます。 今回は、マイグレーションを元に戻す方法を紹...
”Djangoで作ったサイトの管理者パスワードを忘れた”、または”一般ユーザーのパスワードを忘れてログインできなくなった”という事が時々あります。 Djangoには簡単にパスワードをリセットする機...