How can I tell Django not to load a certain column from the DB – Django

by
Alexei Petrov
django python

Quick Fix: Employ the defer method to exclude particular fields from database loading. For instance, to omit loading the narration field, use: python books = Books.objects.defer("narration")

The Problem:

In a Django application with a large database containing numerous columns, a developer is looking to optimize query performance by selectively retrieving only the necessary columns from the database. They have successfully used the .only() method to specify the columns they want to retrieve, but now they face a scenario where they need to exclude a specific column, in this case, the narration column, from the query results. They are seeking an efficient and straightforward way to achieve this selective exclusion of a single column while retrieving the rest of the data.

The Solutions:

Solution 1: Use the `defer` method

To exclude a specific column from being loaded from the database, you can use the `defer` method. The `defer` method takes a list of field names as its argument. The fields specified in the list will not be loaded from the database when the query is executed. For example, to exclude the `narration` column from being loaded, you would use the following code:

books = Books.objects.defer("narration")

This code will query the `Books` table and load all of the columns except for the `narration` column. The `narration` column will still be available in the `Books` model, but it will not be loaded from the database until it is explicitly accessed.

Q&A

How to exclude a certain column from being loaded from the database?

Use the defer method to exclude specific columns.

Can I use only method to exclude a column?

No, only method is used to specify which columns to include.

Video Explanation:

The following video, titled "Django Tutorial - SQLite3 DataBase Tutorial - YouTube", provides additional insights and in-depth exploration related to the topics discussed in this post.

Play video

This django database tutorial will show you how to create and use a SQLite3 database. We will create relationships between tables and learn ...