😽
[Django] モデルに使用できるフィールド一覧
モデルに使用できるフィールド
djangoが提供するモデルは、DBと強く紐づいています。RailsでいうところのActiveRecordパターンです。
そんなDjangoのモデルを書く時にはどんなフィールドが使えて、そのフィールドはどのように活用すればいいのかを簡単にまとめました。詳細は下記リンク先をご覧ください。
フィールド一覧
フィールド名 | 概要 |
---|---|
AutoField | 自動的にインクリメントされるIntegerField モデルに主キーに関する指定がない場合、これが使われるらしい。 |
BigAutoField | 1 から 9223372036854775807まで表現できるAutoField |
BigIntegerField | -9223372036854775808から9223372036854775807を表現できる64bit整数。 |
BinaryField | バイナリデータを扱うためのフィールド |
BooleanField | True,Falseをとるフィールド |
CharField | 文字列を扱うためのフィールド |
DateField | 日付を扱う(datetime.date型) |
DateTimeField | 時間を扱う(datetime.datetime型) |
DecimalField | 実数を扱う(Decimal型) |
DurationField | 期間を扱うためのフィールド timedeltaで表現される |
EmailField | EmailValidatorが付加されたCharField |
FileField | ファイルを扱うためのフィールド 使えるオプションが結構多そう |
FilePathField | ファイルパスを表現するためのCharField |
FloatField | 実数を扱う(float型) |
ImageField | 有効な画像かどうかを検証できるFileField |
IntegerField | -2147483648 から 2147483647 の整数を格納できる。一般的な32bitのint型 |
GenericIPAddressField | IPアドレスを扱うためのフィールド、IPv4, IPv6の両方に対応できるっぽい |
JSONField | JSONを扱うためのフィールド Django3.1から |
NullBooleanField | null=TrueなBooleanFiled Django3.1から非推奨 |
PositiveBigIntegerField | 0 から 9223372036854775807の整数を表現できる。自然数 Django3.1から |
PositiveIntegerField | 0 から 2147483647の整数を表現できる。自然数 |
PositiveSmallIntegerField | 0 から 32767の整数を表現できる。自然数 |
SlugField | URLの一部として使用されたりする、短いラベルを格納するためのフィールド |
SmallAutoField | 1 から 32767 まで表現できるAutoField Django3.0から |
SmallIntegerField | -32768 から 32767を表現できるIntegerField。 |
TextField | 自動生成されたFormではtextareaで扱われるらしい・ max_lengthを指定してもmodel,データベースのレベルで強制されないので、強制したい場合はCharFieldを使えばいい。 |
TimeField | 時間を扱うフィールド datetime.time型, DateFieldと同じオプションを使える |
URLField | URLValidatorが付加されたCharField |
UUIDField | ユニークな識別子を格納するためのフィールド |
参考
Discussion