diff --git a/flashcards/serializers.py b/flashcards/serializers.py index a476ce7..996b40d 100644 --- a/flashcards/serializers.py +++ b/flashcards/serializers.py @@ -10,6 +10,7 @@ from rest_framework.fields import EmailField, BooleanField, CharField, IntegerFi from rest_framework.serializers import ModelSerializer, Serializer, PrimaryKeyRelatedField, ListField from rest_framework.validators import UniqueValidator from flashy.settings import QUARTER_END, QUARTER_START +from collections import Iterable class EmailSerializer(Serializer): @@ -201,7 +202,9 @@ class QuizRequestSerializer(serializers.Serializer): raise serializers.ValidationError("Invalid end date for the flashcard range") def validate_sections(self, value): - if value is None: + if value is not None and not isinstance(value, Iterable): + raise serializers.ValidationError("Invalid section format. Expecting a list or no value.") + if value is None or len(value) == 0: return Section.objects.all() section_filter = Section.objects.filter(pk__in=value) if not section_filter.exists():