Skip to content

Commit 060b68c

Browse files
committed
Fixed compatibility with django-elasticsearch-dsl 7.1.1.
1 parent 6d727d2 commit 060b68c

File tree

3 files changed

+7
-41
lines changed

3 files changed

+7
-41
lines changed
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
elasticsearch==7.0.2
22
elasticsearch-dsl==7.0.0
3-
#django-elasticsearch-dsl==7.1.1
4-
https://github.com/sabricot/django-elasticsearch-dsl/archive/3f6cf53d9a2a5da5c7fca7e444b772d3c72f2594.zip
5-
#https://github.com/sabricot/django-elasticsearch-dsl/archive/f24ba3a86152f13e7181f0afa01ab6dee0d70400.zip
3+
django-elasticsearch-dsl==7.1.1

src/django_elasticsearch_dsl_drf/compat.py

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,7 @@
5151
# return _get_count(queryset)
5252

5353

54-
def keyword_field(**kwargs):
55-
"""Keyword field.
56-
57-
:param kwargs:
58-
:return:
59-
"""
60-
major = get_elasticsearch_version()[0]
61-
if major > 2:
62-
return fields.KeywordField(**kwargs)
63-
else:
64-
if 'analyzer' not in kwargs:
65-
kwargs['analyzer'] = 'keyword'
66-
return fields.StringField(**kwargs)
67-
68-
69-
KeywordField = keyword_field
54+
KeywordField = fields.KeywordField
7055

7156

7257
def string_field(**kwargs):
@@ -75,13 +60,8 @@ def string_field(**kwargs):
7560
:param kwargs:
7661
:return:
7762
"""
78-
major = get_elasticsearch_version()[0]
79-
if major > 2:
80-
if 'fielddata' not in kwargs:
81-
kwargs['fielddata'] = True
82-
return fields.StringField(**kwargs)
83-
else:
84-
return fields.StringField(**kwargs)
63+
kwargs.setdefault('fielddata', True)
64+
return fields.TextField(**kwargs)
8565

8666

8767
StringField = string_field

src/django_elasticsearch_dsl_drf/serializers.py

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ class DocumentSerializer(
109109
_abstract = True
110110

111111
_field_mapping = {
112-
fields.AttachmentField: CharField, # Removed from Elasticsearch 6.x
113112
fields.BooleanField: BooleanField,
114113
fields.ByteField: CharField, # TODO
115114
fields.CompletionField: CharField, # TODO
@@ -125,21 +124,10 @@ class DocumentSerializer(
125124
fields.ListField: ListField,
126125
fields.ObjectField: ObjectField,
127126
fields.ShortField: IntegerField,
128-
fields.StringField: CharField, # Removed in Elasticsearch 6.x
129127
fields.FileField: CharField, # TODO
130-
}
131-
132-
# Elasticsearch 5.x specific fields
133-
try:
134-
_field_mapping.update(
135-
{
136-
fields.KeywordField: CharField,
137-
fields.TextField: CharField
138-
}
139-
)
140-
141-
except AttributeError:
142-
pass
128+
fields.KeywordField: CharField,
129+
fields.TextField: CharField,
130+
}
143131

144132
def __init__(self, instance=None, data=empty, **kwargs):
145133
super(DocumentSerializer, self).__init__(instance, data, **kwargs)

0 commit comments

Comments
 (0)