【问题标题】:MongoDB with Django Rest Elasticsearch?带有 Django Rest Elasticsearch 的 MongoDB?
【发布时间】:2018-06-28 02:59:58
【问题描述】:

遵循http://django-rest-elasticsearch.readthedocs.io/en/latest/ 的基本用法示例

from app.serializers import BlogSerializer
from app.models import Blog
from rest_framework_elasticsearch import (es_views, es_client, es_pagination, es_filters)
from .search_indexes import BlogIndex

class BlogView(es_views.ListElasticAPIView):
es_client = es_client
es_model = BlogIndex
es_pagination_class = es_pagination.ElasticLimitOffsetPagination
es_filter_backends = (
    es_filters.ElasticFieldsFilter,
    es_filters.ElasticFieldsRangeFilter,
    es_filters.ElasticSearchFilter,
    es_filters.ElasticOrderingFilter,
)
es_ordering = 'created_at'
es_filter_fields = (
    es_filters.ESFieldFilter('tag', 'tags'),
)
es_range_filter_fields = (
    es_filters.ESFieldFilter('created_at', 'created_at'),
)
es_search_fields = (
    'tags',
    'title',
)

给我堆栈跟踪:

`Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x10de071e0>
Traceback (most recent call last):
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run
    self.check(display_num_errors=True)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/management/base.py", line 426, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/checks/registry.py", line 75, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 10, in check_url_config
    return check_resolver(resolver)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 19, in check_resolver
    for pattern in resolver.url_patterns:
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/andrew/projects/drfmonoengine/django-rest-framework-mongoengine-example/project/project/urls.py", line 5, in <module>
    from app.views import UNDocumentViewSet, index_view, BlogViewSet
  File "/Users/andrew/projects/drfmonoengine/django-rest-framework-mongoengine-example/project/app/views.py", line 7, in <module>
    from rest_framework_elasticsearch import es_views, es_client, es_pagination, es_filters
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/rest_framework_elasticsearch/es_views.py", line 6, in <module>
    from .es_mixins import ListElasticMixin
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/rest_framework_elasticsearch/es_mixins.py", line 9, in <module>
    from .es_inspector import EsAutoSchema
  File "/Users/andrew/projects/drfmonoengine/venv/lib/python3.6/site-packages/rest_framework_elasticsearch/es_inspector.py", line 1, in <module>
    from rest_framework.schemas import AutoSchema
**ModuleNotFoundError: No module named 'rest_framework.schemas**'`

am使用 MongoDB 进行持久化,这几乎肯定是相关的。

有没有人成功地将 Django Rest Framework 与 Mongo 和 Elasticsearch 一起使用,这会为我指明可以处理 Django-REST、Mongo 和 Elasticsearch 的解决方案或包?或者有没有人遇到过这个问题并有解决方法?

提前谢谢你!

【问题讨论】:

    标签: python django mongodb rest elasticsearch


    【解决方案1】:

    如果您仍然想知道,可以使用 haystack。它是 Django 与 Elasticsearch 集成的库。

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 1970-01-01
      • 2019-03-10
      • 2015-09-21
      • 2019-08-06
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多