Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Django】開発によく使うモデルフィールドを簡単に解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210924094721p:plain

おはようございます。Shotaです。

今回の記事では、Djangoに登場するモデルフィールドを詳細に解説します。

Djangoが使うモデルは、データベースと強く関連付けられています、Djangoでアプリを開発する時によく使うフィールドとその活用方法を簡単にまとめてみました。



よく使うモデルフィールド

Djangoでモデルフィールドを使う場合は、モデル定義ファイル(models.py)でrow = models.XXXField()のように使います。


CharField

文字列を扱うフィールドです。文章を扱うならTextFieldを扱ってください。これには引数max_lengthを追加できます。

max_lengthには自然数(1以上の整数)を指定することで文字数を設定できます。在庫確認アプリでは商品名、Djangoブログでは記事のタイトルによく使われます。


BooleanField

True, Falseを判定するフィールドです。これは、Todoリストにあるタスクを終了する時に付けるチェックボックスでよく使われます。


DateField

日付を扱います。Pythonにおけるdatetime.dateインスタンスによって表示される日付です。以下のような引数があります。これらは省略可能です。


DateField.auto_now

オブジェクトが保存されると、自動的に現在の時刻をセットします。


DateField.auto_now_add

オブジェクトが最初に保存されるとき、自動的にフィールドに現在に日付をセットします。現在の日付が使われることには十分注意してください。

前述のauto_nowと一緒に使うとエラーが発生します。


IntegerField

整数を格納するフィールドです。商品の金額や、SNSにおける「いいね」の数を格納する時によく使われます。


TextField

文章を扱うフィールドです。ブログの本文を格納する時によく使われます。


フィールドオプション

以下の引数は全てのフィールドタイプで有効です。全て省略できます。


null

デフォルトはFalseです。Trueの場合、データベースの中身をnull(データがなにもない状態。空っぽ)にできます。


blank

デフォルトはFalseです。Trueの場合、フィールドは空にできます。


default

フィールド上で、デフォルトで設定されている値です。このオプションには特定の値や呼び出し可能なオブジェクトを渡せます。


unique

Trueの場合、フィールド上に書かれている名前と同じ名前を使うことはできません。


verbose_name

人間が読めるフィールド名です。冗長な名前が与えられていない場合、Djangoはそのフィールドの属性名を使って自動的に作成し、アンダースコアをスペースに変換します。


おわりに

今回の記事では、Djangoの開発でよく使うモデルフィールドをざっくり簡単に解説してみました。

モデルは自分好みにカスタマイズできます。

今回の記事はこれで終了です。

【参考サイト】

qiita.com

zenn.dev

docs.djangoproject.com