Mysql
 sql >> база данни >  >> RDS >> Mysql

django auth Потребителско съкращаване на имейл поле

Дължината на EmailField 75 символа е твърдо кодирана в django. Можете да поправите това така:

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

но това ще промени дължината на ВСИЧКИ полета на EmailField, така че можете също да опитате:

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)

и в двата начина би било най-добре да поставите този код в init на всеки модул ПРЕДИ django.contrib.auth във вашите INSTALLED_APPS

От Django 1.5 можете да използвате свой собствен персонализиран модел, базиран на модел AbstractUser, следователно можете да използвате свои собствени полета и дължини. Във вашите модели:

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)

В настройките:

AUTH_USER_MODEL = 'your_app.models.User'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проектиране на релационна база данни (MySQL)

  2. mybatis генератор Моделът на име на колона не може да бъде NULL или празен

  3. mysql изберете идентификатор и име от друга таблица и се присъединете към заявка

  4. Как да вмъкна входящо имейл съобщение в mySQL база данни?

  5. Изчислете процентилната стойност с помощта на MySQL