django

django

【Django】CharFieldのmaxlengthを変更する

Django の CharField の max_length (min_length) の設定値 fields や base_fields で参照することで変更できますが、バリデーションや HTML で出力したときの maxlength ...
django

【Django】model で抽象メソッドを定義する

Django で抽象メソッドを定義した抽象 model を作成する方法について説明します。 meta - abstract Django の model では以下のように abstract を設定することができます。 # models.py...
django

【Django】bulk 処理では save メソッドが実行されない

Django の bulk 処理 (bulk_create, bulk_update) では save メソッドが実行されません。 そのため、DateTimeField の auto_now など save で行っている自動更新処理は実行さ...
django

【Django】form の field について

Django の form で 自身のフィールドを参照する方法には fields と base_fields の2種類があります。 その使い分けについて説明します。 実体験と調べた内容からの理解となります。厳密なところでは認識誤りがあるかも...
django

【Django】migration 実行時のテーブルのカラムの順番について

Django では model から migration したテーブルを見るとカラムが model の定義順に並んでいないことがあります。 テーブル定義書があるならその順番になっていて欲しいし、データを確認する上でもカラムの並び順は大切です...
django

【Django】IPアドレスを取得する

Django でリクエストのあったクライアントのIPアドレスを取得する方法の紹介です。 リバースプロキシも対応しています。 IPアドレスを取得 def get_client_ip(cls, request): if not request ...
django

【Django】テーブル更新時にユーザーIDを自動で保存する

テーブル定義に作成者や更新者のフィールドを持つことがあると思います。 データの追加、更新時に毎回更新する必要があり、処理を実装するたびに毎回記述するのはコストが掛かる点と実装漏れ等の観点から処理を統一することが望まれます。 そのため、 Dj...
django

【Django】テーブル更新時に日時を自動で保存する

テーブル定義に作成日時や更新日時のフィールドを持つことがあると思います。 データの追加、更新時に毎回更新する必要があり、処理を実装するたびに毎回記述するのはコストが掛かる点と実装漏れ等の観点から処理を統一することが望まれます。 そのため、 ...
django

【Django】FBV と CBV どちらを採用するか

Django の View の定義には FBV (Function Based View) と CBV (Class Based View) について説明します。 FBV 関数型の View です。 シンプルに定義することができ手軽に実装が...
hskをフォローする