添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Django REST Framework v3.2.0 and later
  • Haystack v2.5 and later
  • A supported search engine such as Solr, Elasticsearch, Whoosh, etc.
  • Python bindings for the chosen backend (see below).
  • (geopy and libgeos if you want to use geo spatial filtering)
  • Python bindings

    You will also need to install python bindings for the search engine you’ll use.

    Elasticsearch

    See haystack Elasticsearch docs for details

    $ pip install elasticsearch<2.0.0           # For Elasticsearch 1.x
    $ pip install elasticsearch>=2.0.0,<3.0.0   # For Elasticsearch 2.x
    

    Contributors

    This library has mainly been written by me while working at Inonit. I have also had some help from these amazing people! Thanks guys!

  • See the full list of contributors.
  • Fixed #139. Overriding declared fields must now use serializers.SerializerMethodField() and are handled by stock DRF. We don’t need any custom functionality for this.
  • Added support for Django REST Framework v3.10.x
  • Dropped Python 2.x support
  • v1.8.0

    Release date: 2018-04-16

    This release was pulled because of critical errors in the test suite.

  • Dropped support for Django v1.10.x and added support for Django v2.0.x
  • Updated minimum Django REST Framework requirement to v3.7
  • Updated minimum Haystack requirements to v2.8
  • Bumping minimum support for Django to v1.10.
  • Bumping minimum support for Django REST Framework to v1.6.0
  • Adding support for Elasticsearch 2.x Haystack backend
  • Updated docs with correct name for libgeos-c1.
  • Updated .travis.yml with correct name for libgeos-c1.
  • Fixed an issue where queryset in the whould be evaluated if attribute is set but has no results, thus triggering the wrong clause in condition check. PR#88 closes #86.
  • Fixed #61. Introduction of custom serializers for serializing faceted objects contained a breaking change.
  • This release include breaking changes to the API

  • Dropped support for Python 2.6, Django 1.5, 1.6 and 1.7
  • Will follow Haystack’s supported versions
  • Removed deprecated SQHighlighterMixin.
  • Removed redundant BaseHaystackGEOSpatialFilter. If name of indexes.LocationField needs to be changed, subclass the HaystackGEOSpatialFilter directly.
  • Reworked filters:
  • More consistent naming of methods.
  • All filters follow the same logic for building and applying filters and exclusions.
  • All filter classes use a QueryBuilder class for working out validation and building queries which are to be passed to the SearchQuerySet.
  • Most filters does not inherit from HaystackFilter anymore (except HaystackAutocompleteFilter and HaystackHighlightFilter) and will no longer do basic field filtering. Filters should be properly placed in the filter_backends class attribute in their respective order to be applied. This solves issues where inherited filters responds to query parameters they should ignore.
  • HaystackFacetSerializer narrow_url now returns an absolute url.
  • HaystackFacetSerializer now properly serializes MultiValueField and FacetMultiValueField items as a JSON Array.
  • HaystackGenericAPIView.get_object() optional model query parameter now requires a app_label.model instead of just the model.
  • Extracted internal fields and serializer from the HaystackFacetSerializer in order to ease customization.
  • HaystackFacetSerializer now supports all three builtin pagination classes, and a hook to support custom pagination classes.
  • Extracted the more-like-this detail route and facets list route from the generic HaystackViewSet.
  • Support for more-like-this is available as a drf_haystack.mixins.MoreLikeThisMixin class.
  • Support for facets is available as a drf_haystack.mixins.FacetMixin class.
  • Fixed a bug where ignore_fields on HaystackSerializer did not work unless exclude evaluates to True.
  • Removed elasticsearch from install_requires. Elasticsearch should not be a mandatory requirement, since it’s useless if not using Elasticsearch as backend.
  • Proper support for Multiple search indexes (Github #22).
  • Experimental support for Term Boost (This seems to have some issues upstreams, so unfortunately it does not really work as expected).
  • Support for negate in filters.
  • Support for More Like This results (Github #10).
  • Deprecated SQHighlighterMixin in favor of HaystackHighlightFilter.
  • HaystackGenericAPIView now returns 404 for detail views if more than one entry is found (Github #19).
  • Added support for field lookups in queries, such as field__contains=foobar. Check out Haystack docs for details.
  • Added default permission_classes on HaystackGenericAPIView in order to avoid crash when using global permission classes on REST Framework. See Permissions for details.
  • Fixed issues for Geo spatial filtering on django-haystack v2.4.x with Elasticsearch.
  • A serializer class now accepts a list or tuple of ignore_field to bypass serialization.
  • Added support for Highlighting.
  • HaystackGenericAPIView().get_object() now returns Http404 instead of an empty SearchQueryset if no object is found. This mimics the behaviour from GenericAPIView().get_object().
  • Removed hard dependencies for geopy and libgeos (See Github #5). This means that if you want to use the HaystackGEOSpatialFilter, you have to install these libraries manually.
  • Fixed MissingDependency error when using another search backend than Elasticsearch.
  • Fixed converting distance to D object before filtering in HaystackGEOSpatialFilter.
  • Added Python 3 classifier.
  •