Commit bcd7f396 authored by Richard Eames's avatar Richard Eames Committed by Tim Graham
Browse files

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

Backport of dd99f577 from master
parent 2dc82a8d
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -1346,6 +1346,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