Skip to content

Commit 600382c

Browse files
Merge pull request #174 from noamkush/compatibility-fix
Fix compatibility with django-elasticsearch-dsl 7.1.1
2 parents 0cce4ef + 060b68c commit 600382c

File tree

5 files changed

+14
-45
lines changed

5 files changed

+14
-45
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

examples/simple/factories/factory_faker.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class EnGbFaker(OriginalFaker):
3232

3333
class DjangoUserProvider(BaseProvider):
3434
"""Django user provider."""
35+
_fake = FakerFaker()
3536

3637
@classmethod
3738
def first_name_django(cls, max_length=30):
@@ -55,8 +56,7 @@ def first_name_django(cls, max_length=30):
5556
:return: str.
5657
"""
5758

58-
fake = FakerFaker()
59-
return fake.first_name()[:max_length]
59+
return cls._fake.first_name()[:max_length]
6060

6161
@classmethod
6262
def last_name_django(cls, max_length=30):
@@ -80,8 +80,7 @@ def last_name_django(cls, max_length=30):
8080
:return: str.
8181
"""
8282

83-
fake = FakerFaker()
84-
return fake.last_name()[:max_length]
83+
return cls._fake.last_name()[:max_length]
8584

8685

8786
Faker.add_provider(DjangoUserProvider)

examples/simple/settings/testing.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,7 @@
112112
},
113113
},
114114
}
115+
116+
PASSWORD_HASHERS = [
117+
'django.contrib.auth.hashers.MD5PasswordHasher',
118+
]

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)