Posted at

Djangoモデル 必須項目の設定

Djangoモデルにて必須項目の設定をする方法

Djangoには二種類の必須項目に関するオプション設定がある。

一つ目がblank 二つ目がnullである

blankはDjangoのフォームからの投稿が空かどうかを判定するもの、

nullはデータベースの中身が空かどうかを判定するものである。

このblakとnullの設定により合計4通りの組み合わせが存在するが

基本的には両方ともFalse、もしくは両方ともTrueの時が使用頻度が

高いのでそれを覚えておけば良い。


blank = False, null = False の時

これはDjangoではDefault設定となっている。

これはつまり、フォームからの投稿が空であるのを受け付けずに、かつデータベース側で

中身が空であるものは受け付けないという意味である。

すなわち、入力フォームを必須項目にする時に使用される。



blank = True, null = True の時

これは、フォームからの投稿が空であるのを受け付け、かつデータベース側でも

中身が空であるものを受け付けるという意味である。

すなわち、入力フォームを必須項目でなくする時に使用される。


詳しい説明はこちらで解説されている。

https://www.djangobrothers.com/blogs/django_null_blank/