La lunghezza di 75 caratteri di EmailField è codificata in django. Puoi risolvere questo problema in questo modo:
from django.db.models.fields import EmailField
def email_field_init(self, *args, **kwargs):
kwargs['max_length'] = kwargs.get('max_length', 200)
CharField.__init__(self, *args, **kwargs)
EmailField.__init__ = email_field_init
ma questo cambierà la lunghezza di TUTTI i campi EmailField, quindi potresti anche provare:
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from django.db import models
User.email = models.EmailField(_('e-mail address'), blank=True, max_length=200)
in entrambi i modi sarebbe meglio inserire questo codice in init di qualsiasi modulo PRIMA di django.contrib.auth nelle tue INSTALLED_APPS
Da Django 1.5 puoi utilizzare il tuo modello personalizzato basato sul modello AbstractUser, quindi puoi utilizzare i tuoi campi e lunghezze. Nei tuoi modelli:
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
email = models.EmailField(_('e-mail address'), blank=True, max_length=200)
Nelle impostazioni:
AUTH_USER_MODEL = 'your_app.models.User'