5

私はUbuntuサーバーで と を使用django-haystackWhooshていますが、特定の検索クエリでエラーページが表示されるだけで、なぜこれが起こっているのかわかりません...

私は次のものを使用しています

Whoosh==2.4.0
django-haystack==1.2.7

また、1python manage.py update_index時間に1回走っています

トレースバックの例

Traceback (most recent call last):

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/hooks/framework_django.py", line 430, in __call__
   return self.__wrapped(*args, **kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/haystack/views.py", line 50, in __call__
   return self.create_response()

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/haystack/views.py", line 145, in create_response
   return render_to_response(self.template, context, context_instance=self.context_class(self.request))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/shortcuts/__init__.py", line 20, in render_to_response
   return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader.py", line 188, in render_to_string
   return t.render(context_instance)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 123, in render
   return self._render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/api/function_trace.py", line 82, in __call__
   return self._nr_next_object(*args, **kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 117, in _render
   return self.nodelist.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render
   bits.append(self.render_node(node, context))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node
   return node.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 127, in render
   return compiled_parent._render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/api/function_trace.py", line 82, in __call__
   return self._nr_next_object(*args, **kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 117, in _render
   return self.nodelist.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render
   bits.append(self.render_node(node, context))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node
   return node.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/hooks/framework_django.py", line 622, in __call__
   return self.__wrapped(*args, **kwargs)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 64, in render
   result = block.nodelist.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render
   bits.append(self.render_node(node, context))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node
   return node.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/defaulttags.py", line 311, in render
   return self.nodelist_true.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render
   bits.append(self.render_node(node, context))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node
   return node.render(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/defaulttags.py", line 227, in render
   nodelist.append(node.render(context))

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 915, in render
   resolved_vars = [var.resolve(context) for var in self.vars_to_resolve]

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 653, in resolve
   value = self._resolve_lookup(context)

 File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 692, in _resolve_lookup
   raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bit, current)) # missing attribute

VariableDoesNotExist: Failed lookup for key [object] in u'None'


<WSGIRequest
GET:<QueryDict: {u'q': [u'stockholm']}>,
4

1 に答える 1

0

ここにビューとテンプレート コードを入れていただけますか? これがすべてのクエリではなく一部のクエリで発生している場合は、ビューに渡すパラメーターである可能性があります。私自身のプロジェクトで Haystack 2.0 と Whoosh 2.3.2 を使用して検索クエリを作成するために使用しているビューのコードを次に示します。

def search(request):
   sqs = SearchQuerySet().filter(content=AutoQuery(request.GET['q']))
return  render_to_response('search.html', {'sqs': sqs,})

これは完全に正常に機能します。古い安定版で多くのバグを経験していたので、Haystack の最新バージョンの使用を検討する必要があると思います。また、念のため、「rebuild_index」も時々使用することをお勧めします。

于 2012-07-26T13:55:58.603 に答える