如何使用DetailView显示内联?

时间:2011-07-09 10:14:56

标签: django django-generic-views django-class-based-views

我有一个Project模型。 此模型的Days内联

如何使用DetailView显示它们?

我的views.py看起来像这样:

class ProjectDetailView(DetailView):
    queryset = Project.objects.all()
    slug_field = 'slug'
    template_name = 'projects/detail_project.html'

如何使用此内容推出日内联?

我试过了:

def get_context_data(self, **kwargs):
    context = super(ProjectDetailView, self).get_context_data(**kwargs)
    project = Project.objects.filter(slug=self.slug_field)
    context['days'] = Day.objects.filter(project=project)
    return context

但这不起作用。另外,我使用Generic视图然后执行get_object_or_404以将Days拉出来似乎毫无意义。

如何正确执行此操作?

1 个答案:

答案 0 :(得分:2)

没有内联模型这样的东西。有内联表单,它是与父模型具有ForeignKey关系的模型的表单 - 但您似乎不是在谈论表单。

无论如何,代码中不需要做任何事情。您可以直接在模板中参考相关模型:

{% for day in object.day_set.all %}
    {{ day.whatever }}
{% endfor %}