Использование одной и той же таблицы базы данных в двух разных проектах Django

Я новичок в Django.

Я хотел бы узнать, как настроить два разных проекта на совместное использование одной и той же таблицы базы данных в Django. База данных, которую я использую - MySQL.

Допустим, есть два проекта, project A и project B. В project A я уже создал в нем модель custom user. А в project B я хочу использовать таблицу custom user из базы данных, созданную в project A только для входа. Это означает, что в project A есть регистрация и логин для пользовательской модели пользователя.

В project B есть login, только он будет использовать те же custom user данные в базе данных.

Нужно ли переопределять ту же пользовательскую модель пользователя из project A в project B? Какие настройки конфигурации необходимо выполнить?

Заранее спасибо.

проект B не может получить доступ к таблице из проекта A. Но одна и та же база данных может быть доступна нескольким проектам через включение удаленного доступа к базе данных родительского проекта. Но вы должны помнить о некоторых моментах, когда вы создаете модель в любом проекте, вы должны добавить эту модель в остальные проекты

Хорошо, каким-то образом мне удалось решить эту проблему.

Как и в предыдущем шаге, я сделал python manage.py inspectdb > models.py в проекте A, в котором я уже создал пользовательскую модель пользователя , которая использовалась для регистрации и входа. Затем я скопировал этот файл models.py в проект B и изменил пользовательскую модель пользователя, сгенерированную project A, точно такими же шагами, как я создал пользовательскую модель пользователя в project A. Это означает, что я сделал класс CustomUserManager, а также другие необходимые вещи, требуемые при создании custom user model(AbstractBaseUser).

Затем, в settings.py из project B, я сделал AUTH_USER_MODEL, который как-то решил эту проблему.

Похоже, что для того, чтобы использовать одну и ту же пользовательскую модель в разных проектах с одной и той же базой данных, нам нужно переопределить точную пользовательскую модель вместе с managed = False.

Вернуться на верх