Не совсем уверен, есть ли повторяющийся вопрос, возможно, но я не могу его найти
У меня здесь есть этот код ( models.py )
# Create your models here.
class UserProfileInfo(models.Model):
# Create relationship (don't inherit from User!)
user = models.OneToOneField(User, on_delete=models.CASCADE)
# Add any additional attributes you want
can_view_all = models.BooleanField(default=True)
can_edit_all = models.BooleanField(default=False)
can_add_admin = models.BooleanField(default=False)
alias = models.CharField(default='none')
@property
def alias(self):
return models.CharField(default=self.user.username)
def __str__(self):
# Built-in attribute of django.contrib.auth.models.User !
return self.user.username
@alias.setter
def alias(self, value):
self._alias = value
Как видите, я пытаюсь получить имя пользователя с помощью свойства alias, но это не работает, может ли кто-нибудь мне помочь? В принципе, я хотел бы иметь возможность редактировать логические поля позже (я могу это сделать), но я не знаю, какого пользователя я редактирую, есть ли способ получить имя пользователя напрямую с помощью инъекции HTML, что было бы еще лучше, но мне просто нужен способ показать, какой пользователь Я редактирую
Кстати, это не всегда тот же пользователь, под которым я вошел, поэтому я не могу просто использовать пользователя
Спасибо
Изменить: Views.py
@method_decorator(login_required, name='dispatch')
class UserUpdateView(UpdateView):
context_object_name = 'userprofileinfo'
fields = ('can_view_all', 'can_edit_all', 'can_add_admin')
model = models.UserProfileInfo