[英]Grab username of User from model django
不太確定是否有重復的問題,可能是,但我找不到
我在這里有這段代碼( 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
如您所見,我正在嘗試使用別名屬性獲取用戶名,但它不起作用,有人可以幫助我嗎,基本上,我希望稍后能夠編輯 boolean 字段(我可以那)但我不知道我正在編輯哪個用戶,如果有辦法通過 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
在 Django 中,要引用外鍵 object 中的字段,您必須使用雙下划線語法,例如 - user__username
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.