Как получить зарегистрированного пользователя в django из пользовательской модели пользователей

Я хочу получить имя пользователя из пользовательской модели пользователей

Моя модель пользовательских пользователей:

class Account(AbstractBaseUser, PermissionsMixin):
    nickname = models.CharField(max_length=150, unique=True)
    name = models.CharField(max_length=150)
    last_name = models.CharField(max_length=150)
    phone = models.CharField(max_length=50, unique=True)
    date_of_birth = models.DateField(blank=True, null=True)
    picture = models.ImageField(blank=True, null=True)
    is_staff = models.BooleanField(default=True)
    is_active = models.BooleanField(default=True)
    date_joined = models.DateTimeField(default=timezone.now)
    last_login = models.DateTimeField(null=True)
    admin_of_company = models.ForeignKey('companies.company', on_delete=models.CASCADE, default=None, blank=True,
                                         null=True)

    objects = AccountManager()

    USERNAME_FIELD = 'nickname'
    REQUIRED_FIELDS = ['name', 'last_name', 'phone']

    def get_full_name(self):
        return self.name, self.last_name

    def get_short_name(self):
        return self.name.split()[0]

и модель продукции:

class products(models.Model):
    name = models.CharField(max_length=150)
    about = models.TextField()
    price = models.IntegerField()
    picture = models.ImageField(default=None)
    admin = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True, null=True)

в products.admin я хочу установить пользователя, который заходит в систему по умолчанию но я не знаю, как получить эти данные из пользовательской модели пользователей

Если вы хотите получить расчетный счет в своем представлении, воспользуйтесь этим

current_user_id = self.request.user.id
current_account = Account.objects.get(pk=current_user_id)
current_account_nickname = current_account.nickname

В вашей модели Account нет поля "username".

Вы должны добавить его, если хотите использовать "имя пользователя".

class Account(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(max_length=150, unique=True)
Вернуться на верх