Too much fields in User model
|Reported by:||Owned by:||Adrian Holovaty|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I think there's too much fields in base User model.
The only required fields for authorization purposes are username, password and, possibly, is_active flag. So I think others should be removed (Yes, I know that other fields are optional). Why store in basic athentification model some additional data that isn't needed for athentification?
With the new cool inheritance features you work on, it will be quite easy to extend base class with new fields.
If you think that firstnames, lastnames and e-mails are very common, you're defenitely right. So you could make some model (Staff, for example), wich extends basic User with this fields and include it in django distribution. So if one needs just auth(entification|thorization), he would use base User class. Other would use built-in Staff class. And someone else would derive a custom class from basic User with exactly such fields, as he needs.
Even if part of my users are robots, that have only model and version parameters, part of them are humans with common firstname and lastname and another part are programmers wich have only email, I could build a custom model for each of them, not giving up the power of django's athentification system.