Custom user model hubadilisha User ya default ya Django ili kuendana na mahitaji ya application yako — kuongeza fields, kubadilisha login identifier (k.m. email badala ya username), au kubinafsisha tabia. Ushauri muhimu, unaorudiwa mara kwa mara: weka custom user model mwanzoni kabisa wa project, hata kama huhitaji mabadiliko bado, kwa sababu kuibadilisha baadaye ni jambo gumu mno.
Kwa nini: default User ina mipaka na ni ngumu kubadilisha baadaye
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
