Как создать Django Haystack multisite?

#django-haystack

#django-haystack

Вопрос:

Каков правильный / наилучший способ настройки django-haystack для мультисайта?

В настоящее время все работает, но результаты не ограничены текущим сайтом.

Ответ №1:

indexes.py

 from haystack.indexes import SearchIndex, IntegerField

class SiteSearchIndex(SearchIndex):
    site_id = IntegerField(model_attr="site__id")
  

Мои search_indexes наследуются от этого класса.

urls.py

 from django.conf import settings
from django.conf.urls.defaults import patterns, url
from haystack.forms import SearchForm
from haystack.query import SearchQuerySet
from haystack.views import search_view_factory
from myapp.apps.search.views import SearchView

sqs = SearchQuerySet().filter(site_id=settings.SITE_ID).order_by("-pub_date")
urlpatterns = patterns("",
    url(r"^$",
        search_view_factory(
            view_class=SearchView, searchqueryset=sqs, form_class=SearchForm
        ),
        name="search-index"
    ),
)