Girişler arasındaki ilişkileri içeren bir adres defteri oluşturuyorum. Kişiler, Şirketler, Mekanlar ve Roller'ler için ayrı modellerim var. İndeks sayfamda, her modelin tüm örneklerini listelemek ve ardından filtrelemek istiyorum. Böylece bir kişi kolayca bir girişi arayabilir ve bulabilir.Django Bir Şablona Birden Çok Model Geçme
#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
Ben de özel bir görünüm kullanarak tek bir model listelediðimden: Burada
#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})
bir daha modeli göstermek için jenerik görünümleri kullanarak tek bir model listelemek ve get_extra_context kullanmak mümkün olmuştur Bu testlerin her ikisi için urls.py şunlardır: "Nasıl bu şablona daha sonra bir modeli geçmesine değiştiririm"
(r'^$', views.object_list, {'model' : models.Individual}),
(r'^individuals/$',
IndividualListView.as_view(),
),
(r'^individuals/(?P<pk>\d+)/$',
IndividualDetailView.as_view(),
),
benim soru yani Bu mümkün mü? StackOverflow'taki benzer soruların tümü sadece iki model hakkında sorular soruyor (get_extra_context kullanarak çözülebilir). Ben size object_list
görünümünü kaldırmak önermek
teşekkür ederiz! Bu tam ihtiyacım olan şey. –
+1 bu bilgiyi bulmak şaşırtıcı derecede zordu. Teşekkürler! –
Keşke gerçek bir açıklama olsun. – kevr