Skip to content

Commit d28130d

Browse files
authored
MAINT:dynamic_preferences serializers.py - Exception handling for class ModelMultipleSerializer; types.py - handle queryset in api_reprs of ModelChoicePreference (#243)
1 parent 2e4f0f2 commit d28130d

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

dynamic_preferences/serializers.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,12 @@ def to_python(self, value, **kwargs):
246246
if value in EMPTY_VALUES:
247247
return self.model.objects.none()
248248

249-
pks = value.split(",")
250-
return self.model.objects.filter(pk__in=pks)
249+
try:
250+
pks = value.split(",")
251+
pks = [int(i) for i in pks]
252+
return self.model.objects.filter(pk__in=pks)
253+
except:
254+
raise self.exception("Array {0} cannot be converted to int".format(value))
251255

252256

253257
class PreferenceFieldFile(FieldFile):

dynamic_preferences/types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,8 @@ def get_field_kwargs(self):
336336
def api_repr(self, value):
337337
if not value:
338338
return None
339+
if value.__class__.__name__=='QuerySet':
340+
return [val.pk for val in value]
339341
return value.pk
340342

341343

0 commit comments

Comments
 (0)