Commit 71f2693f by benjaoming

do not call get_empty_query_set, that's deprecated

parent d11a036c
...@@ -3,6 +3,7 @@ from __future__ import unicode_literals ...@@ -3,6 +3,7 @@ from __future__ import unicode_literals
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.db.models.query import QuerySet, EmptyQuerySet from django.db.models.query import QuerySet, EmptyQuerySet
from django import VERSION as DJANGO_VERSION
from mptt.managers import TreeManager from mptt.managers import TreeManager
...@@ -41,6 +42,18 @@ class ArticleQuerySet(QuerySet): ...@@ -41,6 +42,18 @@ class ArticleQuerySet(QuerySet):
return self.filter(current_revision__deleted=False) return self.filter(current_revision__deleted=False)
class ArticleEmptyQuerySet(EmptyQuerySet):
def can_read(self, user):
return self
def can_write(self, user):
return self
def active(self):
return self
class ArticleFkQuerySetMixin(): class ArticleFkQuerySetMixin():
def can_read(self, user): def can_read(self, user):
...@@ -98,8 +111,15 @@ class ArticleFkEmptyQuerySet(ArticleFkEmptyQuerySetMixin, EmptyQuerySet): ...@@ -98,8 +111,15 @@ class ArticleFkEmptyQuerySet(ArticleFkEmptyQuerySetMixin, EmptyQuerySet):
class ArticleManager(models.Manager): class ArticleManager(models.Manager):
def get_empty_query_set(self): def get_empty_query_set(self):
# Pre 1.6 django, we needed a custom inheritor of EmptyQuerySet
# to pass custom methods. However, 1.6 introduced that EmptyQuerySet
# cannot be instantiated but instead passes through the methods
# of the custom QuerySet.
# See: https://code.djangoproject.com/ticket/22817
if DJANGO_VERSION < (1, 6):
return ArticleEmptyQuerySet(self.model, using=self._db)
return self.get_query_set().none() return self.get_query_set().none()
def get_query_set(self): def get_query_set(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment