我不确定是否有重复的问题,可能是,但我找不到
这里有这样的代码(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
正如你所看到的,我试图用别名属性抓取用户名,但它不起作用,有人能帮我吗?基本上,我希望能够在稍后编辑布尔字段(我可以这样做),但我不知道我正在编辑哪个用户,如果有一种方法可以直接通过HTML注入获得用户名,那会更好,但我只需要一种方法来显示我正在编辑哪个用户
顺便说一下,它并不总是我登录的同一个用户,所以我不能只使用user
谢谢
在Django中,要引用外键对象中的字段,必须使用双下划线语法,例如-user__username
如果您使用的是默认django用户,只要self.user
就可以在这里为您提供用户名。