2016-02-13 43 views
0

請注意我是django的新手,因爲我沒有在網上找到任何答案,所以我在問這個問題。我也不是說英語的母語,所以如果我的問題沒有正確制定,請致歉。在模板中的兩個應用程序之間進行反向ForeignKey查找

我有兩個應用程序,配置文件和提交。

裏面Submission我有一個名爲軌道模型(請注意,在ForeignKey的相關名稱):

class Track(models.Model): 

    user = models.ForeignKey(User, unique=False, related_name = 'tracks') 
    title = models.CharField(max_length=100) 

裏面Profile,我有一個名爲用戶配置模型

class UserProfile(models.Model): 

    user = models.OneToOneField(User) 
    display_name = models.CharField(max_length=50, default="") 

我有一個的DetailView UserProfileProfile/views.py

class ProfileDetails(DetailView): 
    model = UserProfile 
    def get_object(self, queryset=None): 
     return get_object_or_404(
      UserProfile, 
      user__username=self.kwargs['username'], 
     ) 

因此,在我的DetailView模板中,這應該是正確的? (object代表UserProfile通過的DetailView顯示的實例)

{% for track in object.tracks.all %} 
{{ track }} 
{% endfor %} 

相反,我只是什麼也得不到。沒有輸出,爲什麼這不起作用?

回答

1

否; object這是UserProfile的一個實例,它與Track沒有直接關係。你需要通過用戶,這是。

{% for track in object.user.tracks.all %} 
+0

我簡直不敢相信我現在感到目瞪口呆。這一點細節讓我花了大約2個小時試圖弄清楚這一點。謝謝! –

相關問題