Book Image

Becoming an Enterprise Django Developer

By : Michael Dinder
Book Image

Becoming an Enterprise Django Developer

By: Michael Dinder

Overview of this book

Django is a powerful framework but choosing the right add-ons that match the scale and scope of your enterprise projects can be tricky. This book will help you explore the multifarious options available for enterprise Django development. Countless organizations are already using Django and more migrating to it, unleashing the power of Python with many different packages and dependencies, including AI technologies. This practical guide will help you understand practices, blueprints, and design decisions to put Django to work the way you want it to. You’ll learn various ways in which data can be rendered onto a page and discover the power of Django for large-scale production applications. Starting with the basics of getting an enterprise project up and running, you'll get to grips with maintaining the project throughout its lifecycle while learning what the Django application lifecycle is. By the end of this book, you'll have learned how to build and deploy a Django project to the web and implement various components into the site.
Table of Contents (15 chapters)
1
Part 1 – Starting a Project
5
Part 2 – Django Components
10
Part 3 – Advanced Django Components

Using the prefetch_related() method

The prefetch_related() method is used as a performance booster on queries pertaining to ManyToManyField relationships. This method can also be used for ForeignKey and OneToOneField relationships and allows for forward and backward lookups, as we will soon practice doing. On the SQL level, this method will generally use a WHERE or INNER JOIN statement to perform lookup operations. Unlike the select_related() method, the prefetch_related() method will perform a separate SQL query for each of the related sets of objects. For example, if we looked up a Seller and wanted the related Vehicles and their related VehicleModel and Engine objects, then Django would perform four separate queries to look up all the related data. To learn more about the prefetch_related() method in its entirety, visit https://docs.djangoproject.com/en/4.0/ref/models/querysets/#prefetch-related.

The following are two exercises, related to the vehicles view and the sellers view...