2013-05-15 32 views
1

我想顯示連接用戶的所有收藏夾。 每個用戶都可以添加他自己的收藏夾。我創建了一個模型來管理這個動作。 在這一個,我有兩個外鍵。一個是用戶,另一個是「最喜歡的」。Django,revover帶有多個外鍵的模型

models.py

class Favorite(models.Model): 
    user = models.ForeignKey(User) 
    drud = models.ForeignKey(Drud) 

    def __unicode__(self): 
     return self.drud.secure_key 

在我看來,我要顯示連接用戶的所有喜愛Drud。我試圖做這樣的事情:

views.py

favorite = Favorite.objects.filter(drud=[d.secure_key for d in Drud.objects.filter(user=request.user)]) 

但是,這不工作...

+0

「這的確行得通......」1)假設你的意思是行不通的。 2)請說出你遇到的錯誤或發生的事情,這不是你想要的結果。 – Danack

回答

0

你可以這樣做:

fav_druds = request.user.favorite_set.values_list('drud', flat=True) 

在模板中,你可以做:

{% for drud in fav_druds %} 
    {{drud.id}}: {{drud.secure_key}} 
{% endfor %} 

編輯:

favs = request.user.favorite_set.all() 

{% for fav in favs %} 
    {{fav.drud.id}}: {{fav.drud.secure_key}} 
{% endfor %} 
+0

這將返回'Drud' ids或'Drud'對象列表? – stalk

+0

Drud objects ... – karthikr

+0

它的作品,但我恢復所有的ID,我不知道如何顯示在我的模板,如果他們是幾Druds – Adrihein