我如何显示与DetailView内联?

问题描述 投票:1回答:2

我有一个Project模型。该模型的Daysinlines

如何使用DetailView显示它们?

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

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

我如何以此来完成Day内联?

我尝试过:

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

但是这不起作用。同样,使用通用视图似乎毫无意义,但是无论如何都要执行get_object_or_404以拉出Days

我该如何正确执行?

django django-generic-views django-class-based-views
2个回答
2
投票

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

无论如何,不​​需要执行任何代码。您可以直接在模板中引用相关模型:

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

0
投票

我正在尝试解决此问题,但在DetailView模板中看不到子模型的字段。

我有两个带有嵌入式表单集的模型。

© www.soinside.com 2019 - 2024. All rights reserved.