]> git.parisson.com Git - django_quiz.git/commitdiff
fixed small bug that meant selected questions were not saved when
authorTom Walker <tomwalker0472@gmail.com>
Sat, 19 Jul 2014 18:43:13 +0000 (19:43 +0100)
committerTom Walker <tomwalker0472@gmail.com>
Sat, 19 Jul 2014 18:43:13 +0000 (19:43 +0100)
creating a new quiz, meaning that the questions would have to be
reselected after the quiz was created.

quiz/admin.py

index 2517bd9b9e7fe5e76545f83502c1a61d4b6ca4c3..c3f867b21d8f4bd1a1340a33c41768a0a03a3715 100644 (file)
@@ -31,21 +31,20 @@ class QuizAdminForm(forms.ModelForm):
         queryset=Question.objects.all().select_subclasses(),
         required=False,
         widget=FilteredSelectMultiple(
-            verbose_name=('Questions'),
+            verbose_name='Questions',
             is_stacked=False))
 
     def __init__(self, *args, **kwargs):
         super(QuizAdminForm, self).__init__(*args, **kwargs)
         if self.instance.pk:
-            self.fields['questions'].initial = self.instance.question_set.all()
+            self.fields['questions'].initial =\
+                self.instance.question_set.all().select_subclasses()
 
     def save(self, commit=True):
         quiz = super(QuizAdminForm, self).save(commit=False)
-        if commit:
-            quiz.save()
-        if quiz.pk:
-            quiz.question_set = self.cleaned_data['questions']
-            self.save_m2m()
+        quiz.save()
+        quiz.question_set = self.cleaned_data['questions']
+        self.save_m2m()
         return quiz
 
 
@@ -66,7 +65,7 @@ class MCQuestionAdmin(admin.ModelAdmin):
     list_filter = ('category',)
     fields = ('content', 'category', 'quiz', 'explanation')
 
-    search_fields = ('content', )
+    search_fields = ('content', 'explanation')
     filter_horizontal = ('quiz',)
 
     inlines = [AnswerInline]