sql >> Database teknologi >  >> RDS >> Mysql

django auth Bruger afkorter e-mail-felt

EmailField 75 tegns længde er hårdkodet i django. Du kan rette dette sådan:

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

men dette vil ændre ALLE EmailField-felternes længder, så du kan også prøve:

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)

begge veje ville det være bedst at sætte denne kode i init af ethvert modul FØR django.contrib.auth i din INSTALLED_APPS

Siden Django 1.5 kan du bruge din egen brugerdefinerede model baseret på AbstractUser model, derfor kan du bruge dine egne felter og længder. I dine modeller:

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)

I indstillinger:

AUTH_USER_MODEL = 'your_app.models.User'


  1. Vil du udflade aggregerede nøgle/værdi-par fra et JSONB-felt?

  2. Sådan navigerer du i Access 2019-åbningsarbejdsområdet

  3. Lumen - Opret databaseforbindelse ved kørsel

  4. Flytning af SQL Server-databaser til skyen