这个是Django中常用的一个功能语句。
#使用前需要先导入
from django.shortcuts import get_object_or_404 get_object_or_404(Article, pk=5)
这个语句通常是从数据库中获取单条数据时使用的。上面这条语句意思是,从数据模型Article中获取pk值为5的数据。
如果存在则返回这条数据的所有信息,如果不存在则返回404错误。
这条语句和objects.get(pk=5)及objects.filter(pk=5)获取数据有什么区别呢?
objects.get(pk=5),是获取单条数据,表示获取pk值为5的数据,如果不存在则会报DoesNotExist错误,如果存在则返回这条数据的所有信息。
objects.filter(pk=5),表示获取pk值为5的查询值,不同的是,如果不存在符合条件的数据时,filter()这个不会报错而会返回一个空的集合,如果存在则返回包含这一条数据的queryset集合。
所以我们通常使用get_object_or_404(Article, pk=5)及filter()两个,避免出现异常!
标签: django基础