Django login_requiredのテストの作り方
djangoの login_required を使ったメソッドのテストを作成している時に、一工夫必要だったので紹介します。 login_requiredとはログインをしていないユーザーが閲覧できないようにビュー関数に設定...
djangoの login_required を使ったメソッドのテストを作成している時に、一工夫必要だったので紹介します。 login_requiredとはログインをしていないユーザーが閲覧できないようにビュー関数に設定...
DjangoのListViewクラスを使って一覧ページを作る時、htmlファイルにページネーションを作成する事が多いと思います。今回は私がよく使う使い勝手の良いページネーション用のhtmlコードを紹介します。 サンプルコ...
この記事はDjango prefetch_related()を使ってDBアクセスを高速化する方法 前編の続きです。前編ではprefetch_related()の基本的な使い方を解説しました。 後編では、prefetch_...
DBに何度もアクセスしてデータを取り出す事は非効率になるため、可能な限り、少ないクエリでデータを取得する必要があります。Djangoではselect_related()やprefetch_related()を使う事でクエ...
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つあります。 どちらの1対1の関係を作成できますが、リレーションの「逆」側の扱いが異なります。 今回は、OneToOneFieldとForeignKey(unique=...
モデルに1対多の外部キー制約を設定できるForeignKeyにはon_deleteというキーワード引数があります。 on_deleteは参照先のデータが削除された時の動作を設定できます。 今回は、on_deleteに設定...
Djangoでマイグレーションを実行したが、ミスが発覚したため元に戻したい時があります。 修正用のマイグレーションファイルを作らなくても、コマンドで簡単に元に戻す事ができます。 今回は、マイグレーションを元に戻す方法を紹...
”Djangoで作ったサイトの管理者パスワードを忘れた”、または”一般ユーザーのパスワードを忘れてログインできなくなった”という事が時々あります。 Djangoには簡単にパスワードをリセットする機...
2つ以上のクエリセットを連結する方法の一つに、for文を使って一つづつ結果格納用のリストに追加する方法がありますが、処理時間がかかります。 今回は2つ以上のクエリセットをfor文を使わないで連結する方法を解説します。 同...
コマンドで確認する方法 以下のコマンドでバージョンが表示されます。 ※Linuxなどでpythonコマンドが3系でない場合はpython3のコマンドを使用してください。 runserverで確認する方法 runserve...
モデルからデータを検索するときに除外する条件を指定したい時があります。 この記事では、モデルのデータの取得条件に除外する条件を指定する方法を解説します。 exclude()を使う方法 exclude()を使うと除外する条...
モデルのフィールドにnull=Trueや blank=Trueを設定できますが、フィールドの種類や用途によってどう使えば良いか分からなくなる事がありました。 今回はnullとblankの違いや、nullとblankの設定...
DjangoのFormを使うときにフィールドのhelp_textやwidgetのattrs、Metaクラスの変数を動的に変更したい時があります。 今回は動的にFormのフィールドやMetaクラスの変数を動的に初期化する方...
Cookiecutter Djangoは素早く本番環境に対応したプロジェクトを作成できるフレームワークです。 非常に便利なのですが、初めて使った時は、利用用途が不明なファイルがあったり、Djangoのプロジェクトの構成を...