dans les Manager/QuerySet customisé renvoit une sous-classe du QuerySet customisé dans la méthode none()
This commit is contained in:
parent
78295726a9
commit
1cd0f37b25
|
@ -7,6 +7,7 @@ import time
|
|||
import django.core.cache
|
||||
from django.core.urlresolvers import RegexURLPattern, RegexURLResolver
|
||||
from django.db import models
|
||||
from django.db.models import query
|
||||
|
||||
def get_next_workable_day(today=None, hours=0, days=2, increment_hours=0, increment_days=1):
|
||||
if today is None:
|
||||
|
@ -183,6 +184,10 @@ class QuerySetManager(models.Manager):
|
|||
def get_query_set(self):
|
||||
return self.queryset_class(self.model)
|
||||
|
||||
def none(self):
|
||||
klass = type("_InstrumentedEmptyQuerySet_%s" % self.__class__.__name__, (query.EmptyQuerySet, self.__class__), {})
|
||||
return self._clone(klass=klass)
|
||||
|
||||
def __getattr__(self, attr, *args):
|
||||
try:
|
||||
return getattr(self.__class__, attr, *args)
|
||||
|
@ -194,6 +199,10 @@ class QuerySet(models.query.QuerySet):
|
|||
"""Base QuerySet class for adding custom methods that are made
|
||||
available on both the manager and subsequent cloned QuerySets"""
|
||||
|
||||
def none(self):
|
||||
klass = type("_InstrumentedEmptyQuerySet_%s" % self.__class__.__name__, (query.EmptyQuerySet, self.__class__), {})
|
||||
return self._clone(klass=klass)
|
||||
|
||||
@classmethod
|
||||
def as_manager(cls, ManagerClass=QuerySetManager):
|
||||
return ManagerClass(cls)
|
||||
|
|
Reference in New Issue