Django模型中的get_object_or_404方法

Django模型中的get_object_or_404方法

有些函数每次都很难以及枯燥地进行编码。但Django用户不必担心这个问题,因为Django有一些很棒的内置函数,让我们的工作变得轻松愉快。让我们在这里讨论get_object_or_404()。

如何在Django项目中使用get_object_or_404()

这个函数调用给定的模型,并从中获取对象,如果该对象或模型不存在,则引发404错误。

示例:

假设我们想从产品模型中获取第三个产品,那么我们可以使用。

# import get_object_or_404()
from django.shortcuts import get_object_or_404
 
 
# defining view
def product_view(request):
    #
retrieving product (pk is primary key)
    product = get_object_or_404(Products, pk=3)

这就是Django的优势,如果你硬编码,那么你必须写这么多行代码。

# import Http404
from django.http import Http404
 
 
# defining view
def product_view(request):
 
 
    # try except logic
    try:
        product = Products.objects.get(pk=1)
    except Products.DoesNotExist:
        raise Http404("Given query not found....")

在QuerySet中使用get_object_or_404()

QuerySet实例用于在从数据库获取数据时过滤数据。例如,我们想只获取鞋子,那么我们可以写。

queryset = Products.objects.filter(type='shoes')
get_object_or_404(queryset)

我们可以用一句话来简化上述例子。

get_object_or_404(Products, type='shoes') 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程