django在模板中获取相关的外键

时间:2013-10-24 10:12:20

标签: django

我需要在撰写这篇文章的模板帖子和用户名中显示。模型“post”对用户有ForeignKey。

{% for post in post_list %}
    <tr>
        <td>{{ post.user_name }}</td>
        <td>{{ post.user_name }}</td>
        <td>{{ post.post_user.user_name }}</td>
        <td>{{ post.post_content }}</td>                
    </tr>
{% endfor %}



class user(models.Model):
    user_name = models.CharField(max_length=25)

class post(models.Model):
        post_content = models.CharField(max_length=65000)
        post_user = models.ForeignKey(user)

我试过的方法都没有用

3 个答案:

答案 0 :(得分:5)

{{ post.post_user.user_name }}是正确的。

答案 1 :(得分:2)

<td>{{ post.post_user.user_name }}</td>应该是胜利者。

每个选项的输出是什么?

尝试使用|pprint过滤器查看发生了什么:

{{ post|pprint }}
{{ post.post_user|pprint }}

答案 2 :(得分:1)

{{ post|pprint }}
{{ post.post_user|pprint }}
{{ post.post_user.user_name|pprint }}
{{ post|pprint }}

<post: post object> <user: user object> '1' <post: post object>

这是我的观点

try:
            post_list = post.objects.select_related().filter(post_thread_id = thread_obj.id).order_by('-post_date')
        except:
            post_list = False                
        c = {
            'thread': thread_obj,
            'post_list': post_list,
            'user_login' : user_login,
            'user_name' : user_name, // user name which is login
            }
        c.update(csrf(request))  
        return render_to_response("show_thread.html", c)
相关问题