Je suis en train de mettre en place une requête de filtre dans un de mes vues ... essentiellement mon code ressemble comme ci-dessous:Django filtrage Problème
def inventory(request):
vehicle = Vehicle.objects.all().exclude(status__status='Incoming').order_by('common_vehicle__series__model__manufacturer__manufacturer', 'common_vehicle__series__model__model', 'common_vehicle__year')
year_count = Vehicle.objects.exclude(status__status='Incoming').order_by('-common_vehicle__year__year').values('common_vehicle__year__year').annotate(count=Count('id'))
make_count = Vehicle.objects.exclude(status__status='Incoming').order_by('common_vehicle__series__model__manufacturer__manufacturer').values('common_vehicle__series__model__manufacturer__manufacturer').annotate(count=Count('id'))
return render_to_response('vehicles.html', {'vehicle': vehicle, 'make_count': make_count, 'year_count': year_count,})
def year_filter(request, year):
vehicle = Vehicle.objects.filter(common_vehicle__year__year=year)
return render_to_response('filter.html', {'vehicle':vehicle,})
def make_filter(request, make):
vehicle = Vehicle.objects.filter(common_vehicle__series__model__manufacturer__manufacturer=make).exclude(status__status='Incoming')
return render_to_response('filter.html', {'vehicle':vehicle,})
Jusqu'à présent, lorsque je tente un des deux points de vue, Je ne reçois que l'ensemble de la requête de la première vue, c'est-à-dire l'inventaire. Le fichier URLconf se présente comme ci-dessous:
(r'^inventory/year/(?P<year>d{4})/?$', 'app.vehicles.views.year_filter'),
(r'^inventory/make/(?P<make>)/', 'app.vehicles.views.make_filter'),
Je oublierais tout sur le bit correspondant ... merci bennylope. Cela me donne cependant un queryset vierge ... donc je ne sais pas ce qui pourrait être le problème –
mon mauvais ... juste vu mon erreur ... maintenant le filtre de make fonctionne. –