Форум сайта python.su
делаю выборку с помощью функции обработчика (упражнение).
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),
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 элемента вызывает ошибку?
Отредактировано (Фев. 5, 2011 15:28:19)
Офлайн
I159Потому что так сделали. Если есть возможность того, что фильтрация возвращает больше одного элемента, испльзуйте не get, а filter.
Почему вывод более 1 элемента вызывает ошибку?
Офлайн