2016-02-14 27 views
0

我有我的模板,這種觀點和循環:如何通過Django中的user_id獲取用戶名?

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?在我看來,我不知道如何獲取這些信息。

+1

你可以發佈'Entries'模型​​嗎?因爲如果它包含一個ForeignKey給用戶,它會更容易。 – bakkal

回答

1

它的更好,如果你在你的Entries模型有ForeignKeyUser

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 %} 
相關問題