switch to multi-table inheritance for posts; remove qcombine that is no more needed; add and integrate post.downcast + as template filter
This commit is contained in:
@@ -6,8 +6,6 @@ from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
|
||||
from taggit.models import Tag
|
||||
|
||||
import aircox.cms.qcombine as qcombine
|
||||
|
||||
|
||||
class Route:
|
||||
"""
|
||||
@@ -189,7 +187,8 @@ class SearchRoute(Route):
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def __search(cl, model, q):
|
||||
def get_queryset(cl, model, request, q = None, **kwargs):
|
||||
q = request.GET.get('q') or q or ''
|
||||
qs = None
|
||||
for search_field in model.search_fields or []:
|
||||
r = models.Q(**{ search_field + '__icontains': q })
|
||||
@@ -197,17 +196,6 @@ class SearchRoute(Route):
|
||||
else: qs = r
|
||||
return model.objects.filter(qs).distinct()
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_queryset(cl, model, request, q = None, **kwargs):
|
||||
q = request.GET.get('q') or q or ''
|
||||
if issubclass(model, qcombine.GenericModel):
|
||||
models = model.models
|
||||
return qcombine.QCombine(
|
||||
*(cl.__search(model, q) for model in models)
|
||||
)
|
||||
return cl.__search(model, q)
|
||||
|
||||
@classmethod
|
||||
def get_title(cl, model, request, q = None, **kwargs):
|
||||
return _('Search <i>%(search)s</i> in %(model)s') % {
|
||||
|
||||
Reference in New Issue
Block a user