0
我一整晚都在抨擊我的頭,並且在我放棄之前,也許你們中有人知道我忽略了一些東西。如何讓模型爲Django Haystack搜索生成多種選擇?
什麼作品:我想創建一個使用Django 1.4和Haystack 2.0-dev的圖書搜索引擎。我已經通過我已經導入的4本書和他們的頁面進行了很好的搜索。
什麼不是:但是,我想要的是用戶可以通過表單中的複選框來選擇某個人想要搜索的書。我一直在努力的事情,但沒有複選框露面,沒有書列出即使我在那裏與冠軍有4等
這裏是我的搜索/ views.py(主要來自this question借用)
from django import forms
from haystack.forms import HighlightedModelSearchForm
from books.models import Book, Author
class BasicSearchForm(HighlightedModelSearchForm):
def __init__(self, *args, **kwargs):
super(BasicSearchForm,self).__init__(*args,**kwargs)
book_choices = Book.objects.all()
book_tuples = tuple([(c.id, c.title) for c in book_choices])
self.fields['book'] = forms.ChoiceField(choices=book_tuples, required=False)
def search(self):
sqs = super(BasicSearchForm, self).search()
if self.is_valid() and self.cleaned_data['book']:
if self.cleaned_data['book'] != "*":
sqs = sqs.filter(book__id=self.cleaned_data['book'])
return sqs
這裏是我的urls.py
from django.conf.urls import patterns, include, url
from haystack.views import SearchView, search_view_factory
from haystack.query import SearchQuerySet
from search.views import BasicSearchForm
urlpatterns = patterns('',
url(r'^search/$',
SearchView(
#template='book_search.html',
form_class = BasicSearchForm
),
name='haystack_search'
),
url(r'^accounts/login/', 'django.contrib.auth.views.login'),
)
我已經做了很多關於這個搜索和沖刷的文檔了一夜,這是躲避。也許有人在那裏看到我沒有的東西?任何幫助表示讚賞,謝謝!
這是否已解決或不?請檢查答案,無論如何它是有用的。 – 2013-07-01 12:05:29