Я использую CustomQuerySet, используя Пользовательский QuerySet и Manager, не нарушая DRY? . Я могу получить доступ только к пользовательским функциям, используя objects
. Вот мой код:
class CustomQuerySetManager(models.Manager):
"""A re-usable Manager to access a custom QuerySet"""
def __getattr__(self, attr, *args):
print(attr)
try:
return getattr(self.__class__, attr, *args)
except AttributeError:
# don't delegate internal methods to the queryset
if attr.startswith('__') and attr.endswith('__'):
raise
return getattr(self.get_query_set(), attr, *args)
def get_query_set(self):
return self.model.QuerySet(self.model, using=self._db)
class SampleModel(models.Model):
objects = CustomQuerySetManager()
class QuerySet(models.QuerySet):
def test(self):
print("test function was callsed")
С этим это происходит:
SampleModel.objects.test() # This works
SampleModel.objects.all().test() # This doesnt works...
Почему это происходит?