Как отобразить строки в DetailView? - PullRequest
1 голос
/ 09 июля 2011

У меня есть 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

Но это не работает.Также кажется бессмысленным, что я использую общий вид, но затем в любом случае выполняю get_object_or_404, чтобы вытянуть Days.

Как мне сделать это правильно?

1 Ответ

2 голосов
/ 09 июля 2011

Нет такой вещи как встроенная модель. Существуют встроенные формы, которые являются формами для модели, имеющей отношение ForeignKey с родительской моделью, но, похоже, вы не говорите о формах.

В любом случае в коде ничего не нужно делать. Вы можете обратиться к соответствующим моделям непосредственно в шаблоне:

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