【问题标题】:How do i display inlines with DetailView?如何使用 DetailView 显示内联?
【发布时间】:2011-10-01 19:48:01
【问题描述】:

我有一个Project 模型。 这个模型有Days,它们是内联

如何使用 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


    【解决方案1】:

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

    在任何情况下,都不需要在代码中做任何事情。可以直接在模板中参考相关模型:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多