В моем 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, но я также хотел бысохранить обычного суперпользователя администратора.