【发布时间】:2013-02-11 10:24:51
【问题描述】:
当尝试在 django-haystack 上为 elasticsearch 建立索引时,我收到错误(下面的完整回溯)
TypeError: index_queryset() got an unexpected keyword argument 'using'
它在 Python 2.6、Django 1.4、ElasticSearch 0.20.2 上。之前我也遇到过类似的prefetch error,就是pyelasticsearch和requests库版本不匹配的情况。我试图将请求降级到 0.13,但没有效果。 pyelasticsearch 目前是 0.3
非常感谢任何帮助!
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/var/www/myproj/myproj-env/lib/python2.6/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/var/www/myproj/myproj-env/lib/python2.6/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/var/www/myproj/myproj-env/lib/python2.6/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/var/www/myproj/myproj-env/lib/python2.6/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/var/www/myproj/myproj-env/src/django-haystack/haystack/management/commands/update_index.py", line 184, in handle
return super(Command, self).handle(*items, **options)
File "/var/www/myproj/myproj-env/lib/python2.6/site-packages/django/core/management/base.py", line 341, in handle
label_output = self.handle_label(label, **options)
File "/var/www/myproj/myproj-env/src/django-haystack/haystack/management/commands/update_index.py", line 210, in handle_label
self.update_backend(label, using)
File "/var/www/myproj/myproj-env/src/django-haystack/haystack/management/commands/update_index.py", line 239, in update_backend
end_date=self.end_date)
File "/var/www/myproj/myproj-env/src/django-haystack/haystack/indexes.py", line 157, in build_queryset
index_qs = self.index_queryset(using=using)
TypeError: index_queryset() got an unexpected keyword argument 'using'
【问题讨论】:
-
你用的是什么版本的 Haystack?
-
几个月前有 1.0,这就是我在本地拥有的。当前版本是 0.3 - 这是我试图在服务器上运行的版本。我已经设法解决了这个问题,只需将
的 haystack 源代码覆盖在 之上。所以,结论是: 可以在所有先决条件(pyelasticsearch、simplejson 和 requests)的最新版本中顺利运行,而 则不能
标签: elasticsearch django-haystack