Custom user model nadomešča Django's privzeti User model, da se prilagodi potrebam vaše aplikacije — dodajanje polj, sprememba identifikatorja za prijavo (npr. e-pošta namesto uporabniškega imena) ali prilagajanje vedenja. Kritičen in pogosto ponovljen nasvet: nastavite custom user model na samem začetku projekta, tudi če sprememb ne potrebujete še, ker je sprememba pozneje izjemno boleča.
Zakaj: privzeti User je omejen in ga je težko spremeniti pozneje
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
