Найти - Пользователи
Полная версия: фильтрация с помощью функций-обработчиков
Начало » Django » фильтрация с помощью функций-обработчиков
1
I159
делаю выборку с помощью функции обработчика (упражнение).
urls.py:
brands_info = {'queryset' : Brands.objects.all(), 'template_name': 'cars_select.html', 'extra_context': {'brands': Brands.objects.all}}

urlpatterns = patterns('',
(r'^select/(\w+)/$', views.brand_by_country),
views.py:
def brand_by_country(request, country):
try:
location = Brands.objects.get(country = country)
except Brands.DoesNotExist:
raise Http404

return list_detail.object_list(
request,
queryset = Brands.objects.filter(country = location),
template_name = 'cars_select.html',
template_object_name = 'brands',
extra_context = {'location': location}
)
В при данном запросе выводится ошибка:
get() returned more than one Brands – it returned 2! Lookup parameters were {'country': u'Germany'}
Почему вывод более 1 элемента вызывает ошибку?
regall
I159
Почему вывод более 1 элемента вызывает ошибку?
Потому что так сделали. Если есть возможность того, что фильтрация возвращает больше одного элемента, испльзуйте не get, а filter.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB