Commit 34586f534d3b6991792cc06b29f15bc7614b7057
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)]) |