From fe533fc537e8eecd9ad592b140387f44d21727ab Mon Sep 17 00:00:00 2001 From: Richard Eames Date: Tue, 21 Apr 2015 21:42:50 -0600 Subject: [PATCH] [1.8.x] Fixed #24613 -- Added example to QuerySet.defer() documentation Backport of dd99f57710bb4930561a6c049f54719af80850ec from master --- docs/ref/models/querysets.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index f4609b0081..e6e2335040 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1379,6 +1379,30 @@ one, doing so will result in an error. reader, is slightly faster and consumes a little less memory in the Python process. + For example, both of these models use the same underlying database table:: + + class CommonlyUsedModel(models.Model): + f1 = models.CharField(max_length=10) + + class Meta: + managed = False + db_table = 'app_largetable' + + class ManagedModel(models.Model): + f1 = models.CharField(max_length=10) + f2 = models.CharField(max_length=10) + + class Meta: + db_table = 'app_largetable' + + # Two equivalent QuerySets: + CommonlyUsedModel.objects.all() + ManagedModel.objects.all().defer('f2') + + If many fields need to be duplicated in the unmanaged model, it may be best + to create an abstract model with the shared fields and then have the + unmanaged and managed models inherit from the abstract model. + .. note:: When calling :meth:`~django.db.models.Model.save()` for instances with