Skip to content
Related Articles

Related Articles

Improve Article
get_object_or_404 method in Django Models
  • Last Updated : 23 Oct, 2020

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 given model and get object from that if that object or model doesn’t exist it raise 404 error.


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

# import get_object_or_404()
from django.shortcuts import get_object_or_404
# defining view
def product_view(request):
retriving 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:

# import Http404
from django.http import Http404
# defining view
def product_view(request):
    # try except logic
        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 database. For example we want to fetch only only shoes then we can write:

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

We can simplify above example by a single line:

get_object_or_404(Products, type='shoes') 

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :