Глава 9, Сложная фильтрация с помощью функций-обработчиков.
На вызов существующих значений //127.0.0.1:8000/cars/exist_in_brands/, выводится пустая страница, ошибки нет. Не понятно, где и каким образом теряется значение?
views.py
def car_by_brand(request, brand_name):
#We need to select name of a brand, because in Cars db it foreign key.
try:
make = Brands.objects.get(brand__iexact = brand_name)
except Brands.DoesNotExist:
raise Http404
#And use the selected value to the filtration of Cars.
return list_detail.object_list(
request,
queryset = Cars.objects.filter(brand = make),
template_name = 'car_by_brand.html',
template_object_name = 'cars',
extra_context = {'brand': make}
)
urls.py
(r'^cars/(\w+)/$', views.car_by_brand),
models.py
class Brands(models.Model):
brand = models.CharField(max_length = 24)
country = models.CharField(max_length=24)
web_site = models.URLField()
car_models = models.ManyToManyField(CarModels)
def __unicode__(self):
return '%s %s %s' % (self.brand, self.country, self.web_site)
class Cars(models.Model):
brand = models.ForeignKey(Brands)
...
car_by_brand.html
{% for car in cars %}
{{ car }}
{% endfor %}
Updated 6 Feb. 2011, 13:34 by I159.