EmailField 75 karakters lengte is hardcoded in django. Je kunt dit zo oplossen:
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
maar dit zal de lengte van ALLE EmailField-velden wijzigen, dus u kunt ook proberen:
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 beide gevallen is het het beste om deze code in de init van een willekeurige module te plaatsen VOORDAT django.contrib.auth in uw INSTALLED_APPS
Sinds Django 1.5 kunt u uw eigen aangepaste model gebruiken op basis van het AbstractUser-model, daarom kunt u uw eigen velden en lengtes gebruiken.In uw modellen:
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)
In instellingen:
AUTH_USER_MODEL = 'your_app.models.User'