Могу ли я реализовать раздельную аутентификацию пользователей и модели для двух приложений в проекте django?

В этом проекте django у меня есть два отдельных приложения, в которых мне нужно хранить информацию об учетной записи пользователя отдельно. Например, если человек создает аккаунт для приложения A, мне нужно, чтобы он мог создать отдельный аккаунт (с возможностью использования того же уникального email для создания аккаунта) для приложения B. На данный момент мне кажется, что нет способа использовать две отдельные модели auth для двух отдельных пользователей. Мне интересно, каким может быть обходной путь для этого в django, или может быть я как-то неправильно понимаю проблему?

Вот пример модели пользователя, которая будет работать для приложений A и B, но потребуются отдельные таблицы или модели для аутентификации и создания учетной записи:

class GenericUser(AbstractUser): """абстрактный класс пользователя для аутентификации пользователей""" firstname = models.CharField('First Name', blank=True, max_length=100) lastname = models.CharField('Last Name', blank=True, max_length=100) email = models.CharField('Email', unique=True, max_length=100)

class Meta:
    permissions = (
        ("some-permission", "some-description"),
    )

Сначала я попробовал создать две отдельные пользовательские сущности в файле models.py в моем проекте django, но когда я закончил это делать, мне некуда было поместить вторую модель пользователя в папке settings.py. На этом я сейчас и застрял.

Возможно, вы ищете это. django поддерживает несколько моделей аутентификации. Для этого вам нужно создать собственный бэкенд аутентификации , унаследовав его от 'django.contrib.auth.backends.BaseBackend' (там можно указать различные модели пользователей, я думаю) и указать модель аутентификации в settings.py проекта. Для получения дополнительной информации. ознакомьтесь с этим документом

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