2016-02-14 31 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 %} 
相关问题