У меня есть несколько баз данных, определенных в settings.py.In models.py Я должен использовать таблицу auth_user из определенной базы данных, а не из базы данных по умолчанию. Как мы можем определить это в models.py?У меня есть базы данных, определенные в settings.py как показано ниже:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sources',
'USER': 'root',
'PASSWORD': 'cdffd@123',
'HOST': 'xx.xx.xx.xxx',
'PORT': '3306',
},
'abc': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'customers',
'USER': 'root',
'PASSWORD': 'dsgfsd@123',
'HOST': 'xx.xx.xx.xxx',
'PORT': '3306',
},
'xyz': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'users',
'USER': 'root',
'PASSWORD': 'ewet@123',
'HOST': 'xx.xx.xx.xxx',
'PORT': '3306',
},
}
в моем models.py Я определил модель пользователя, как показано ниже:
class User(AbstractBaseUser, PermissionsMixin, BaseUserManager):
name_regex = RegexValidator(regex="^[a-zA-Z]+$",message="Enter only Alphabets")#regular expression for name
email_regex = RegexValidator(regex="^\w.+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$",message="Enter valid Email Id")#regular expression for email
password = models.CharField(_("Password"),max_length=128,default='')
last_login = models.DateTimeField(_('date Last Login'), null=True, blank=True)
is_superuser = models.BooleanField(_("Super User"),default=0)
username = models.CharField(_('Username'), max_length=75,blank=True,null=True)
first_name = models.CharField(_('First name'),default='',blank=True,null=True, max_length=20)
last_name = models.CharField(_('Last name'),default='',blank=True,null=True, max_length=20)
email = models.EmailField(_('Enter your email address'),unique=True,max_length=254,error_messages={'unique':"Email ID already registered.",'invalid':'Enter valid Email ID'})
is_staff = models.BooleanField(_('staff status'), default=False)
is_active = models.BooleanField(_('active'), default=True)#A boolean attribute that indicates whether the user is considered “active”
date_joined = models.DateTimeField(_('Date joined'))
iRoleID = models.IntegerField(_("Role"),default=0)
iModifiedBy = models.IntegerField(_("Modified By"),blank=True,null=True)
dtModifiedOn = models.DateTimeField(_("Modified On"),blank=True,null=True)
apitoken_validity = models.IntegerField(default=0)
authentication_type = models.IntegerField(default=1)
iMSISDN = models.IntegerField(_('Mobile Number'),default=0)
objects = UserManager()
USERNAME_FIELD = 'email'# unique identifier. The field must be unique
REQUIRED_FIELDS = ['username']
def __unicode__(self):
return self.username
def __str__(self):
return self.email
class Meta:
app_label = 'users'
db_table = "auth_user"
По умолчанию используется таблица auth_userиз базы данных, определенной по умолчанию. Но мне нужно взять таблицу auth_user из базы данных, определенной в xyz.Это возможно?если возможно, как я могу это сделать?