Django,用多个外键修改模型

时间:2013-05-15 19:48:04

标签: python django

我想展示所有关联用户的最爱。 每个用户都可以添加自己的收藏夹。我创建了一个模型来管理这个动作。 在这一个,我有两个外键。一个用户,第二个用于“最爱”。

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)])

但是,这确实有用......

1 个答案:

答案 0 :(得分: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 %}