﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
23816	Ability to defer model field by default	Robert Coup	Denis.Tarykin	"Today's small #IWantAPony is to be able to mark model fields as deferred by default. No need to chase down every queryset and add `.defer()`, or use a custom manager setup & remember to set `use_for_related_fields`.

{{{
class MyModel(models.Model):
   enormous_field = models.TextField(defer=True)
   other_field = models.IntegerField()
}}}

Which is (simplistically) equivalent to the following:

{{{
class MyManager(models.Manager):
  use_for_related_fields = True

  def get_queryset(self, *args, **kwargs):
    return super(MyManager, self).get_queryset(*args, **kwargs).defer(""enormous_field"")

class MyModel(models.Model):
   enormous_field = models.TextField()
   other_field = models.IntegerField()

   objects = MyManager()
}}}

Obviously, you can still do `MyModel.objects.defer(None)` to do the full query."	New feature	closed	Database layer (models, ORM)	dev	Normal	wontfix		akiskesoglou@… Carlos Palol	Unreviewed	1	0	0	1	0	0
