Best Way To Write Views For Multiple Queries In Django?
It's a simple question. I've organised my models so that most objects served to the page are of one type - Item. The model contains various attributes which help me serve it in dif
Solution 1:
You can use URL querystring(ie request.GET) to get type of the item from url and filter by it. Like this:
path('new/', views.ItemListView.as_view(), name='new_list'),
classItemListViewArticle(generic.ListView):defitem(self, request, *args, **kwargs):
return index(request)
defget_queryset(self):
content_type = self.request.GET.get('type')
return Item.objects.filter(type__contains=content_type).order_by('-create_date')
# usagelocalhost:8000/new/?type=article
localhost:8000/new/?type=video
Or you can use URL parameter to get the type of data:
path('new/<str:content_type>/', views.ItemListView.as_view(), name='new_list'),
classItemListViewArticle(generic.ListView):defitem(self, request, *args, **kwargs):
return index(request)
defget_queryset(self):
content_type = self.kwargs.get('content_type')
return Item.objects.filter(type__contains=content_type).order_by('-create_date')
# usagelocalhost:8000/new/article/
localhost:8000/new/video/
Post a Comment for "Best Way To Write Views For Multiple Queries In Django?"