我有
def manufacturer(request, manufacturer_title):
#try:
# m = Manufacturer.objects.filter(title__iexact=manufacturer_title)
#except Manufacturer.DoesNotExist:
# raise Http404("No such manufacturer")
return HttpResponse("Manufacturer: %s" % manufacturer_title)
#return HttpResponse("Manufacturer: %s" % m.title)
你可以看到我在这里想做什么。只有倒数第二行没有注释掉,这适用于为manufacturer_title输入的任何值,并以键入方式打印,无论其是否有效。然而,很明显,我需要它来匹配现有的制造商。如果我取消注释上面注释的行(不包括最后一行),服务器将无法连接
过滤器不会引发异常。可能您正在尝试获取一个独特的对象,可以使用get这样做:
现在,如果对象不存在,get将引发异常
您在案例中所需的功能也可以通过快捷方式完成。这样地: 如果需要单个对象:
如果需要查询集:
Django
filter
未引发DoesNotExists错误。 您可以将代码重写为:或者,如果
title
是uqique字段,您可以只使用get()
:相关问题 更多 >
编程相关推荐