关键词

详解Django的 get_object_or_404() 函数:获取模型对象或返回 404 错误

Django中的get_object_or_404()函数

作用

get_object_or_404()函数用于获取一个模型实例对象,如果对象不存在则返回404错误页面。

使用方法

在视图函数中引入函数库:

from django.shortcuts import get_object_or_404

该函数有两个参数,一个是模型类,一个是查询条件,如下:

get_object_or_404(Model, **kwargs)

其中Model表示要查询的模型类,**kwargs表示查询条件,可以根据需要传入一个或多个字段进行查询。

例如,以下是查询Article模型中id为1的文章实例对象:

article = get_object_or_404(Article, id=1)

如果查询不到id为1的文章实例对象,则返回一个404错误页面,并包含"Page not found (404)"的提示信息。

实例说明

实例一

例如,有一个模型类Book,如下:

class Book(models.Model):
    name = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    price = models.DecimalField(max_digits=5, decimal_places=2)

查询某个具体的书籍实例对象,如下:

book = get_object_or_404(Book, name='Python基础教程')

如果查询的书籍不存在,则返回一个404错误页面。

实例二

再例如,有一个模型类User,如下:

class User(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
    email = models.EmailField(max_length=100)

查询某个具体的用户实例对象,如下:

user = get_object_or_404(User, name='Tom', age=18)

如果查询的用户不存在,则返回一个404错误页面。

以上就是get_object_or_404()函数的详细作用和使用方法及两个实例的完整攻略。

本文链接:http://task.lmcjl.com/news/4066.html

展开阅读全文