Rozszerzanie modelu użytkownika o niestandardowe pola w Django

Jaki jest najlepszy sposób rozszerzenia modelu użytkownika (w pakiecie z aplikacją uwierzytelniającą Django) o pola niestandardowe? Chciałbym również użyć adresu e-mail jako nazwy użytkownika (do celów uwierzytelnienia). Widziałem już kilka sposobów, aby to zrobić, ale nie mogę zdecydować, który z...