Skip to content
Related Articles

Related Articles

get_object_or_404 method in Django Models

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 29 Jun, 2021

Some functions are hard as well as boring to code each and every time. But Django users don’t have to worry about that because Django has some awesome built-in functions to make our work easy and enjoyable. Let’s discuss get_object_or_404() here.

How to use get_object_or_404() in a Django Project?

This function calls the given model and get object from that if that object or model doesn’t exist it raise 404 error.

Example:

Suppose we want to fetch 3rd product from the product model then we can use:

Python3




# 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)

This is the advantage of Django if you hardcode that then you have to write this much line of code:

Python3




# 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....")

Using get_object_or_404() with QuerySet:

QuerySet instance is used to filter data while fetching from the database. For example, we want to fetch only shoes then we can write:

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

We can simplify above example by a single line:

get_object_or_404(Products, type='shoes') 
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!