Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

django auth उपयोगकर्ता ईमेल फ़ील्ड को छोटा कर रहा है

ईमेलफिल्ड 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

लेकिन यह सभी ईमेलफ़ील्ड फ़ील्ड की लंबाई बदल देगा, इसलिए आप यह भी कोशिश कर सकते हैं:

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)

दोनों तरीकों से इस कोड को अपने INSTALLED_APPS में django.contrib.auth से पहले किसी भी मॉड्यूल के init में रखना सबसे अच्छा होगा

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. SQLite और कस्टम ऑर्डर द्वारा

  2. MySQL GROUP BY... भिन्न मान समान फ़ील्ड होने के कारण

  3. ऑपरेशन '=' के लिए कॉलेशन (utf8mb4_unicode_ci,IMPLICIT) और (utf8mb4_general_ci,IMPLICIT) का अवैध मिश्रण

  4. MySQL IF शर्तों के साथ जुड़ें

  5. PHP और MySQL के साथ सर्वर साइड इवेंट