Article Class
ブログアプリで投稿するコンテンツのモデル。categoryはすでに作成しているCategory classを外部キー(一対他参照)として参照している。tagsも同様だが、複数指定が可能なManyToManyFieldになっていることに注意。
Fields
Description
category
Categoryクラスの外部key
必須
title
コンテンツのタイトル
必須
section
セクション
任意
text
コンテンツの中身
任意
tags
タグ、複数設定可能
任意
created_at
コンテンツが作成された日
自動で
updated_at
コンテンツが更新された日
自動で
published_at
コンテンツが公開された日
自動で
is_public
コンテンツの公開状況
必須
Articleクラス内のMeta Classでは、管理画面で表示するテーブル名を記載する。 また__str__メソッドをオーバライドすることで、classの表示名を定義している。
created_atやupdated_atは自動で時刻が保存されるようになっているが、published_atはデフォルトではnull値を指定している。
公開された日時を保存するために、「公開フラグONで、公開日が設定されていない場合」(=null、つまり初稿or公開し直したとき)に、保存時の時刻を入力するようにsaveメソッドをオーバーライドしている。
super().〜で親クラスのメソッドを継承したうえでオーバーライドしていることにも注意。
最終更新
役に立ちましたか?