Sto costruendo una rubrica che include le relazioni tra voci, ecc. Ho modelli separati per individui, società, sedi e ruoli. Nella mia pagina di indice vorrei elencare tutte le istanze di ciascun modello e quindi filtrarle. In modo che una persona possa facilmente cercare e trovare una voce. Sono stato in grado di elencare un unico modello utilizzando viste generici e utilizzare get_extra_context di mostrare più un modello:Django passa più modelli a un modello
#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
Sono anche in grado di elencare un unico modello con una visualizzazione personalizzata:
#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})
Qui sono l'urls.py per entrambe le prove: "Come faccio a modificare questo di passare più di un modello per il modello"
(r'^$', views.object_list, {'model' : models.Individual}),
(r'^individuals/$',
IndividualListView.as_view(),
),
(r'^individuals/(?P<pk>\d+)/$',
IndividualDetailView.as_view(),
),
quindi la mia domanda è È possibile? Tutte le domande simili su StackOverflow richiedono solo due modelli (che possono essere risolti usando get_extra_context).
Grazie! Questo è esattamente ciò di cui avevo bisogno. –
+1 era sorprendentemente difficile trovare questa informazione. Grazie! –
Vorrei che ci fosse qualche spiegazione reale. – kevr