2013-10-24 62 views
1

我需要在模板文章和用戶名中顯示這篇文章。型號「後」具有ForeignKey給用戶。django在模板中獲取相關外鍵

{% 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) 

沒有任何辦法,我試圖不工作

回答

5

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

2

<td>{{ post.post_user.user_name }}</td>應該是贏家。

爲每個選項輸出什麼?

嘗試使用|pprint過濾器,看看是怎麼回事:

{{ post|pprint }} 
{{ post.post_user|pprint }} 
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)