class ShopListView(ListView): model = Shops context_object_name= 'shops'
template_name = 'booking/search.html'
def get_context_data(self, **kwargs): context = super(ShopListView, self).get_context_data(**kwargs) query = self.request.GET.get('q') query1 = self.request.GET.get('q1') query2 = self.request.GET.get('q2') query3 = self.request.GET.get('q3') context['datetimelist'] = [query,query1,query2,query3] return context
def get_queryset(self): query = self.request.GET.get('q') query1 = self.request.GET.get('q1') query2 = self.request.GET.get('q2') query3 = self.request.GET.get('q3') result_list = Shops.objects.exclude(Q(appointments__time=query) & Q(appointments__date = query1)) result_list2 = Shops.objects.filter(Q(city=query2) & Q(typesport=query3)) context = list(chain(result_list & result_list2)) return context
class ShopDetailView(DetailView):
model = Shops template_name = 'booking/results.html'
context_object_name= 'shops'
path('search/', booking_views.ShopListView.as_view(template_name='booking/search.html'), name='search'), path('results/<int:pk>/', booking_views.ShopDetailView.as_view(template_name='booking/results.html'), name='results'),
I assume that you want to access the DetailView form the ListView??
To do that your List View template (which should be shop_list.html) should contain <a href=”{{shop.id}}/”>{{field}} – {{field}}</a>
I don’t see your models.py so don’t know what the fields are, but here is an example of my code for a model called Organisation:
{% extends 'pbs1/pbs1_base.html' %}
{% block body_block %}
<div class = "jumbotron">
<h4 id='pers'>Available Organisations - </h4>
<h5><i>Click for further details</i></h5>
<p></p>
<ol>
{% for org in organisation_list %}
<h6><li><a href="{{org.id}}/">{{org.org_Name}} - {{org.org_HQ_Location}}</a></li></h6>
{% endfor %}
</ol>
</div>
<div class="container">
<p><a class="btn btn-light" href="{% url 'pbs1:home' %}">Back</a></p>
</div>
{% endblock %}
So, when the user clicks on an organisation in the list it takes her to the DetailView of that organisation, by virtue of the line in the urls.py:
path('<int:pk>/', views.Org_DetailView.as_view(), name='detail'),
Caveat – I am still an novice, but this works for me.
Bruckner de Villiers
083 625 1086
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5c011fa8-daa1-41ad-b4e8-b4bb7e8aa5d2%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to django...@googlegroups.com.