1.get_object_or_404() 接收两个参数,参数1为模型类,参数2为查询参数 查询到对象则返回对象,查询不到则返回http404,但是不会返回模型的DoesNotExist异常 示例: from django.shortcuts import get
1.get_object_or_404()
接收两个参数,参数1为模型类,参数2为查询参数查询到对象则返回对象,查询不到则返回http404,但是不会返回模型的DoesNotExist异常
示例:
from django.shortcuts import get_object_or_404
def my_view(request):
obj = get_object_or_404(MyModel, pk=1)
上面的示例也相当于:
from django.http import Http404
def my_view(request):
try:
obj = MyModel.object.get(pk=1)
except MyModel.DoesNotExist:
raise Http404('查询结果不存在')
2.get_list_or_404()
接收两个参数,参数1位模型类,参数2为查询参数将查询出来的queryset集合转化为列表,如果结果列表为空,则会引发Http404
示例:
from django.shortcuts import get_list_or_404
def my_view(request):
my_objects = get_list_or_404(MyModel, bookname='三国')
上面的示例也想当于
from django.http import Http404
def my_view(request):
my_objects = list(MyModel.object.filter(bookname='三国'))
if not my_objects:
raise Http404('查询结果不存在')
-------------------------------------------
个性签名:代码过万,键盘敲烂!!!
如果觉得这篇文章对你有小小的帮助的话,记得“推荐”哦,博主在此感谢!