Agile育成ブログ
未来を変える喜びを
未分類

DEFAULT_AUTO_FIELDはDjango 3.2で導入され、新しく作成されるモデルのIDフィールドのデフォルトのフィールドタイプを設定するための設定です。指定されていない場合、この設定に基づいてIDフィールドが自動で追加されます。

指定された2つのフィールドタイプの違いは以下の通りです:

  1. django.db.models.AutoField:
    • 通常の整数型を使用します。
    • データベースに応じて、32ビットか64ビットの整数を使用します。大抵のデータベースでは32ビットの整数として動作します。
    • その結果、1から2,147,483,647までの値を持つことができます。
  2. django.db.models.BigAutoField:
    • 長い整数型を使用します。
    • 常に64ビットの整数を使用します。
    • 1から9,223,372,036,854,775,807までの値を持つことができます。

どちらを選択するかは、将来的にどれだけのレコードをデータベースに保存するかに依存します。BigAutoFieldは非常に大量のレコードを持つことが予期される場合や、将来的にレコードの数が急増する可能性がある場合に適しています。

ただし、Django 3.2以降では、新しいプロジェクトのデフォルト設定がBigAutoFieldに変更されています。これは、将来的な拡張性のための予防策として、新しいプロジェクトで大量のデータを扱う可能性に備えての変更です。

You cannot copy content of this page