Django ORM Self contained defer and only Although the method is not filter, exclude,
order_by These methods are so common , But it can be used to optimize the database query . Today, I'll show you how to use these two methods .

Defer method

Defer The purpose of the method is to skip the specified field when querying the database , For example, the following query will skip each article Entry Of headline and body field . When you don't need to use it in query results headline and body Field , use defer Method can prevent the headline and body Load memory , This saves space . An article may not matter , But there are a lot of articles , Save memory space can not be ignored .
Entry.objects.defer("headline", "body")
Defer Methods can be compared with filter, exclude Methods in combination , The order doesn't matter , As shown below :
Entry.objects.defer("body").filter(rating=5).defer("headline")
If you want to load all the fields , Just set up defer(None)
my_queryset.defer(None)
Only method

Only Methods and methods defer Method action class time , It's just only Method is to specify the fields to load . For example, the following query will only load body and pub_date.
Entry.objects.only("body", "pub_date")
use only We must pay great attention to the order of methods , Its implementation is subject to the last one . The following example will only load headline.
Entry.objects.only("body", "rating").only("headline")
only Methods and methods defer Methods can be combined , But we must pay attention to the sequence . The following example will only load headline.
Entry.objects.only("headline", "body").defer("body")

Technology
©2020 ioDraw All rights reserved
Novice cloud ambassador's way of preaching --- Promotion experience of the third prince Ao Bing Learning experience of natural language processing ES6 Three simple methods of array de duplication use python Judge whether a number is 2 Of n Power python Control lightning simulator Vue+element+cookie Realize the function of remembering password Learning path of junior Embedded Software Engineer ( Bachelor or master degree ) Six Star Education :PHP Programmer's book , Let you quickly become a technical master First order low pass filter - Continuous to discrete Laravel Homestead