항목 간 관계가 포함 된 주소록을 작성하고 있습니다. 개인, 회사, 개최지 및 역할에 대한 별도의 모델이 있습니다. 내 인덱스 페이지에서 각 모델의 모든 인스턴스를 나열한 다음 필터링합니다. 사람이 쉽게 검색하고 항목을 찾을 수 있습니다.Django 여러 모델을 하나의 템플릿으로 전달
#views.py
class IndividualListView(ListView):
context_object_name = "individual_list"
queryset = Individual.objects.all()
template_name='contacts/individuals/individual_list.html'
class IndividualDetailView(DetailView):
context_object_name = 'individual_detail'
queryset = Individual.objects.all()
template_name='contacts/individuals/individual_details.html'
def get_context_data(self, **kwargs):
context = super(IndividualDetailView, self).get_context_data(**kwargs)
context['role'] = Role.objects.all()
return context
나는 또한 사용자 지정보기를 사용하여 단일 모델을 나열 할 수 있어요 : 여기
#views.py
def object_list(request, model):
obj_list = model.objects.all()
template_name = 'contacts/index.html'
return render_to_response(template_name, {'object_list': obj_list})
을 나는 또 하나의 모델을 보여주기 위해 일반 뷰를 사용하여 하나의 모델을 나열하고 get_extra_context 사용할 수 있었다 이러한 테스트 모두를위한 urls.py 있습니다 : "어떻게이 템플릿에 두 개 이상의 모델을 전달하는 수정 않는다"
이(r'^$', views.object_list, {'model' : models.Individual}),
(r'^individuals/$',
IndividualListView.as_view(),
),
(r'^individuals/(?P<pk>\d+)/$',
IndividualDetailView.as_view(),
),
그래서 제 질문입니다 심지어 가능할까요? StackOverflow에 대한 비슷한 질문은 모두 두 개의 모델에 대해서만 묻습니다 (get_extra_context를 사용하여 해결할 수 있음). 나는 당신이 당신의 object_list
보기를 제거 제안
감사합니다! 이것은 내가 필요한 것입니다. –
+1이 정보를 찾는 것이 놀랍도록 어려웠습니다. 감사! –
실제적인 설명이 있었으면 좋겠습니다. – kevr