Django pasar varios modelos a una plantilla
Estoy creando una libreta de direcciones que incluye las relaciones entre las entradas, etc. Tengo modelos separados para individuos, empresas, lugares y roles. En mi página de índice, me gustaría enumerar todas las instancias de cada modelo y luego filtrarlas. Para que una persona pueda buscar fácilmente y encontrar una entrada. He podido enumerar un solo modelo usando vistas genéricas y usar get_extra_context para mostrar un modelo más:
#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
También puedo listar un solo modelo usando una vista personalizada:
#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})
Aquí están los urls.py para estas dos pruebas:
(r'^Entonces mi pregunta es "¿Cómo modifico esto para pasar más de un modelo a la plantilla?" ¿Es incluso posible? Todas las preguntas similares en StackOverflow solo preguntan sobre dos modelos (que se pueden resolver utilizando get_extra_context).
, views.object_list, {'model' : models.Individual}),
(r'^individuals/Entonces mi pregunta es "¿Cómo modifico esto para pasar más de un modelo a la plantilla?" ¿Es incluso posible? Todas las preguntas similares en StackOverflow solo preguntan sobre dos modelos (que se pueden resolver utilizando get_extra_context).
,
IndividualListView.as_view(),
),
(r'^individuals/(?P<pk>\d+)/Entonces mi pregunta es "¿Cómo modifico esto para pasar más de un modelo a la plantilla?" ¿Es incluso posible? Todas las preguntas similares en StackOverflow solo preguntan sobre dos modelos (que se pueden resolver utilizando get_extra_context).
,
IndividualDetailView.as_view(),
),
Entonces mi pregunta es "¿Cómo modifico esto para pasar más de un modelo a la plantilla?" ¿Es incluso posible? Todas las preguntas similares en StackOverflow solo preguntan sobre dos modelos (que se pueden resolver utilizando get_extra_context).