Skip to content

Commit c561d5a

Browse files
committed
Updating the changes to be backwards compatible with django 1.8
1 parent 186108e commit c561d5a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

select2/models/descriptors.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import django
22
from django.db import router
33
from django.db.models import signals
4-
from django.db.models.fields.related_descriptors import ReverseManyToOneDescriptor
4+
try:
5+
from django.db.models.fields.related import ReverseManyRelatedObjectsDescriptor as ReverseManyToOneDescriptor
6+
except ImportError:
7+
from django.db.models.fields.related_descriptors import ReverseManyToOneDescriptor
58
from ..utils import cached_property
69

710

select2/widgets.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
except ImportError:
1111
from django.forms.util import flatatt
1212
from django.utils.datastructures import MultiValueDict
13+
try:
14+
from django.utils.datastructures import MergeDict
15+
except ImportError:
16+
MergeDict = type('MergeDict', (object, ), {})
17+
1318
from django.utils.html import escape, conditional_escape
1419
from django.utils.encoding import force_unicode
1520
from django.utils.safestring import mark_safe
@@ -205,6 +210,6 @@ def _has_changed(self, initial, data):
205210

206211
def value_from_datadict(self, data, files, name):
207212
# Since ajax widgets use hidden or text input fields, when using ajax the value needs to be a string.
208-
if not self.ajax and isinstance(data, (MultiValueDict)):
213+
if not self.ajax and isinstance(data, (MultiValueDict, MergeDict)):
209214
return data.getlist(name)
210215
return data.get(name, None)

0 commit comments

Comments
 (0)