Есть ли способ отделить администратора django (суперпользователя) от обычного пользователя? - PullRequest
1 голос
/ 04 ноября 2019

В моем API Django Rest Framework у меня нет пользователей-людей, которые взаимодействуют с моим API, но я бы хотел использовать аутентификацию пользователя на этих пользователях машины. Тем не менее, AbstractBaseUser все еще сильно привязывает меня к необходимой электронной почте и имени пользователя (что не имеет смысла для пользователей моей машины). Кроме того, я хотел бы иметь человеческих администраторов (суперпользователей), но путем настройки с помощью AbstractBaseUser суперпользователь также изменяется. Могу ли я отделить пользователя для аутентификации от суперпользователя, которого я хочу использовать в админе?

Я уже пытался использовать ссылку OneToOne с пользователем в моей пользовательской модели машины в качестве профиля, но это все еще означает, что мне нужно соответствовать пользователю django. Кроме того, я попытался использовать AbstractBaseUser, но это создает проблемы, упомянутые выше.

Модель, которая должна быть моделью моего пользователя, поскольку при этом создается другой ресурс (квитанции)

class ReceiptMachine(models.Model):
    machine_user = models.OneToOneField('ReceiptUser',  on_delete=models.CASCADE)
    machine_id = models.UUIDField(verbose_name='id of receipt machine', default=uuid.uuid4, editable=False, unique=True)
    store = models.ForeignKey('Store', on_delete=models.CASCADE, to_field='store_id')

class ReceiptUser(AbstractBaseUser):
    ? 

Поэтому я хочу использовать эту модель в качестве своей аутентификации через пользователя Django, но я также хотел бысохранить обычного суперпользователя администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...