sql >> Database >  >> RDS >> Mysql

django auth Gebruiker die e-mailveld afkapt

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'


  1. REMAINDER() Functie in Oracle

  2. NULL vervangen door een andere waarde in SQL Server - ISNULL()

  3. Een SQL Server-database herstellen (T-SQL)

  4. MySQL:wat is een pagina?