Mysql
 sql >> Baza danych >  >> RDS >> Mysql

django auth Pole e-mail użytkownika obcinające e-mail

Długość EmailField 75 znaków jest zakodowana w django. Możesz to naprawić w ten sposób:

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

ale to zmieni długość WSZYSTKICH pól EmailField, więc możesz również spróbować:

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)

w obie strony najlepiej byłoby umieścić ten kod w init dowolnego modułu PRZED django.contrib.auth w INSTALLED_APPS

Od Django 1.5 możesz używać własnego niestandardowego modelu opartego na modelu AbstractUser, dlatego możesz używać własnych pól i długości.W swoich modelach:

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)

W ustawieniach:

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 Niewrażliwy na wielkość liter, ale wrażliwy na akcenty UTF8 Unikalny klucz

  2. Używanie mysql concat() w klauzuli WHERE?

  3. MySQL LOAD_FILE() ładuje wartości null

  4. Problem z zasięgiem MySql ze skorelowanymi podzapytaniami

  5. Znajdź wiersze ze zduplikowanymi/podobnymi wartościami kolumn MySQL