[1.8.x] Fixed #24613 -- Added example to QuerySet.defer() documentation

Backport of dd99f57710 from master
This commit is contained in:
Richard Eames 2015-04-21 21:42:50 -06:00 committed by Tim Graham
parent 322b9c90aa
commit fe533fc537
1 changed files with 24 additions and 0 deletions

View File

@ -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 reader, is slightly faster and consumes a little less memory in the Python
process. 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:: .. note::
When calling :meth:`~django.db.models.Model.save()` for instances with When calling :meth:`~django.db.models.Model.save()` for instances with