カスタムユーザーモデルは、Django のデフォルトの User を置き換え、アプリケーションの要件に合わせることができます — フィールドの追加、ログイン識別子の変更(例:ユーザー名の代わりにメール)、または動作のカスタマイズが可能です。重要で、何度も強調される助言があります:カスタムユーザーモデルをプロジェクトの最初から設定してください。後で変更するのは非常に大変だからです。
なぜ重要なのか
The default User has fixed fields (username, email, first/last name) and uses
USERNAME as the login field. Real apps often need:
✓ Email-based login (no username)
✓ Extra fields (phone, avatar, role, preferences) on the user itself
✓ Custom authentication behavior
