簡體   English   中英

如何在Django中通過user_id獲取用戶名?

[英]How do I get username by user_id in Django?

我的模板中有此視圖並循環:

def home(request):
    entries = Entries.objects.all()
    context = {"entries": entries}
    return render(request, "index.html", context)

index.html:

{% for entry in entries %}
{{ entry.user_id }}
{% endfor %}

我可以獲取要輸出的條目的user_id 但是,如何獲取該user_idusername 我不知道該如何獲取這些信息。

最好是在您的Entries模型中具有UserForeignKey

from django.contrib.auth.models import User
class Entries(models.Model):
    user = models.ForeignKey(User) # instead of user_id = IntegerField()

如果您不想這樣做,可以向模型添加屬性

from django.contrib.auth.models import User
class Entries(models.Model):
    @property
    def user(self):
        return User.objects.get(pk=self.user_id)

此屬性使用戶可以作為entry.user來使用,就好像它是一個屬性一樣,因此:

{% for entry in entries %}
    {{ entry.user.username }}
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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