Commit 34586f534d3b6991792cc06b29f15bc7614b7057

Authored by Rohan Rangray
1 parent 7dcd94c018
Exists in master

Fixed MaskFieldSerializer to accept both lists and their string represenations.

Showing 2 changed files with 5 additions and 2 deletions Side-by-side Diff

flashcards/serializers.py View file @ 34586f5
... ... @@ -102,7 +102,9 @@
102 102 return dumps(list(self._make_mask(value)))
103 103  
104 104 def to_internal_value(self, value):
105   - return self._make_mask(loads(value))
  105 + if not isinstance(value, list):
  106 + value = loads(value)
  107 + return self._make_mask(value)
106 108  
107 109 def _make_mask(self, data):
108 110 try:
... ... @@ -239,7 +241,7 @@
239 241 correct = BooleanField(required=False, help_text="The user's self-evaluation of their response")
240 242  
241 243 def __init__(self, instance=None, data=empty, **kwargs):
242   - assert isinstance(instance, UserFlashcardQuiz)
  244 + assert isinstance(instance, UserFlashcardQuiz) or instance is None
243 245 super(QuizAnswerRequestSerializer, self).__init__(instance=instance, data=data, **kwargs)
244 246  
245 247 def validate_response(self, response):
flashcards/views.py View file @ 34586f5
... ... @@ -374,6 +374,7 @@
374 374 raise ValidationError("No matching flashcard found in your decks")
375 375  
376 376 user_flashcard = user_flashcard_filter.order_by('?').first()
  377 + # user_flashcard = user_flashcard_filter.annotate(spaced=F())
377 378 mask = user_flashcard.get_mask().get_random_blank()
378 379 user_flashcard_quiz = UserFlashcardQuiz(user_flashcard=user_flashcard,
379 380 blanked_word=user_flashcard.flashcard.text[slice(*mask)])