]> git.parisson.com Git - django_quiz.git/commitdiff
started to use inheritence for TF question. Will make a new abstract base class for...
authorTom Walker <tomwalker0472@gmail.com>
Mon, 9 Jun 2014 20:43:39 +0000 (21:43 +0100)
committerTom Walker <tomwalker0472@gmail.com>
Mon, 9 Jun 2014 20:43:39 +0000 (21:43 +0100)
.gitignore
quiz/admin.py
true_false/models.py

index 0ec12b1d0c1f96db530a706097bb4c95fa4251ce..533eb5ee9baf741653d9201fc6c31d9433e6ce49 100644 (file)
@@ -1,4 +1,7 @@
-/mysite/
+*.*~
+*.*~
 *.pyc
-manage.py
 /db.sqlite3
+/manage.py
+/mysite*
+/plan.txt
index a49ee32824514e0e69d4a9f52eaa2f3752ff20f5..6fa7afdce27b347dd25bfe9ca4fa00408481b388 100644 (file)
@@ -3,6 +3,7 @@ from django.contrib import admin
 from django.contrib.admin.widgets import FilteredSelectMultiple
 from quiz.models import Quiz, Category, Progress
 from multichoice.models import Question, Answer
+from true_false.models import TF_Question
 
 class QuestionInline(admin.TabularInline):
     model = Question.quiz.through
@@ -73,7 +74,16 @@ class ProgressAdmin(admin.ModelAdmin):
     """
     search_fields = ('user', 'score', )
 
+class TFQuestionAdmin(admin.ModelAdmin):
+    list_display = ('content', 'category', )
+    list_filter = ('category',)
+    fields = ('content', 'category', 'quiz', 'explanation' )
+
+    search_fields = ('content', 'explanation')
+    filter_horizontal = ('quiz',)
+
 admin.site.register(Quiz, QuizAdmin)
 admin.site.register(Category, CategoryAdmin)
 admin.site.register(Question, QuestionAdmin)
 admin.site.register(Progress, ProgressAdmin)
+admin.site.register(TF_Question, TFQuestionAdmin)
index 06e9b8346b2022772e692cfefd6f47708be9b2dc..d35d059ca2c0157b1b489754c87e7d0e37556cda 100644 (file)
@@ -1,29 +1,22 @@
 from django.db import models
-from django_quiz.quiz.models import Quiz, Category
+from quiz.models import Quiz, Category
+from multichoice.models import Question
 
-class TF_Question(models.Model):
+class TF_Question(Question):
+    """
+    Using the multichoice question as the base class, inheriting properties:
+    quiz - quiz that it belongs to
+    category
+    content - question text
+    explanation - shown afterwards
+    """
 
-    quiz = models.ManyToManyField(Quiz, blank=True, )
-    
-    category = models.ForeignKey(Category, blank=True, null=True, )
-    
-    content = models.CharField(max_length=1000, 
-                               blank=False, 
-                               help_text="Enter the question text that you want displayed",
-                               verbose_name='Question',
-                               )
-    
-    explanation = models.TextField(max_length=2000,
-                                   blank=True,
-                                   help_text="Explanation to be shown after the question has been answered.",
-                                   verbose_name='Explanation',
-                               )
-    
-    correct = models.BooleanField(blank=False, 
+    correct = models.BooleanField(blank=False,
                                   default=False,
-                                  help_text="Is this question true or false?"
+                                  help_text="Tick this if the question is true."+
+                                  " Leave it blank for false."
                                   )
-    
+
     class Meta:
         verbose_name = "Question"
         verbose_name_plural = "Questions"
@@ -32,4 +25,3 @@ class TF_Question(models.Model):
 
     def __unicode__(self):
         return self.content
-