﻿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
10310	Model attribute default_queryset	fero	nobody	"This enhancement aims to make the developer able to use its own specialized queryset
without defining a custom Manager on the model. Custom manager
is usually defined for:

 * custom filtering of default queryset
 * provide methods to perform custom operations on data

I propose to provide Model with a ""default_queryset"" attribute
to avoid defining the manager in the second case.

The default manager get_query_set() must be modified in order to
return self.model.default_queryset instance instead of 
QuerySet one.

Furthermore default manager class must be modified like the following:

{{{
def __getattr__(self, attr):
  # Proxy to queryset
  try:
    rv = super(.....).__getattr__(...)
  except AttributeError:
    rv = getattr(self.get_query_set(), attr)
  return rv
}}}

Example of usage:

{{{
class MyQuerySet(QuerySet):

   def m1(self):
       return self.filter(myfield=True)
   def m2(self):
       return self.exclude(myfield2__gte=10)

class MyModel(models.Model):
   default_queryset = MyQuerySet
}}}

If you are interested in this feature I can make a patch
"		closed	Database layer (models, ORM)	1.0		wontfix	manager, queryset, enhancement		Unreviewed	0	0	0	0	0	0
