Таблица создается в неправильной БД
Всем привет, пытаюсь реализовать создание профиля человека во время сохранения его регистрационных данных на сервер и столкнулся с проблемой. Есть две БД: users_information
и users_profiles
. Мне нужно таблицу profiles
создать в БД users_profiles
, но этого не происходит, потому что она всегда создается в users_information
. Я вроде бы указал верно конкретную БД: userProfile.objects.using('users_profiles')
, но все равно это ничего не дало. Помогите решить проблему пожалуйста, заранее спасибо.
Файл settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'users_information',
другие данные
},
'users_profiles': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'users_profiles',
другие данные
}
}
Файл models.py
class UserProfile(models.Model):
user_info = models.OneToOneField(UserInfo, on_delete=models.CASCADE, related_name='profile')
avatar = models.ImageField(upload_to='avatars/', null=True, blank=True)
class Meta:
app_label = 'django_registration'
db_table = 'profiles'
@receiver(post_save, sender=UserInfo)
def create_user_profile(sender, instance, created, **kwargs):
if created and not hasattr(instance, 'profile'):
UserProfile.objects.using('users_profiles').create(user_info=instance)
Файл 0001_initial.py
(миграции)
migrations.CreateModel(
name='UserProfile',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('avatar', models.ImageField(blank=True, null=True, upload_to='avatars/')),
('user_info', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to='django_registration.userinfo')),
],
options={
'db_table': 'profiles',
},
),