簡體   English   中英

從 model django 獲取用戶的用戶名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM