在模板中的两个应用程序之间反向ForeignKey查找

时间:2016-02-13 23:52:39

标签: python django django-models foreign-keys

请注意我是django的新手,我问这个问题,因为我没有在网上找到任何答案。我也不是母语英语,如果我的问题没有正确表达,请道歉。

我有两个应用程序,个人资料和提交。

Submission内我有一个名为Track的模型(请注意ForeignKey中的相关名称):

class Track(models.Model):

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

Profile内,我有一个名为UserProfile

的模型
class UserProfile(models.Model):

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

我在UserProfile内有Profile/views.py的DetailView:

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

所以在我的DetailView模板中,这应该可行吗? (object表示DetailView显示的UserProfile实例)

{% for track in object.tracks.all %}
{{ track }}
{% endfor %}
相反,我什么都没得到。没有输出,为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

没有; object这是UserProfile的一个实例,它与Track没有直接关系。您需要通过用户进行操作。

{% for track in object.user.tracks.all %}
相关问题