From: Tom Walker Date: Fri, 6 Jun 2014 17:02:45 +0000 (+0100) Subject: small changes to allow easier use in other projects X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=9f2dbb09e10d7c8f889b23442ae3179bb3b776b6;p=django_quiz.git small changes to allow easier use in other projects --- diff --git a/.gitignore b/.gitignore index 02836b0..348d9ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /mysite/ +*.pyc +manage.py diff --git a/multichoice/models.py b/multichoice/models.py index 281cf0b..738a851 100644 --- a/multichoice/models.py +++ b/multichoice/models.py @@ -1,5 +1,5 @@ from django.db import models -from django_quiz.quiz.models import Quiz, Category +from quiz.models import Quiz, Category """ Multiple choice style question for quiz @@ -9,22 +9,22 @@ Multiple choice style question for quiz class Question(models.Model): quiz = models.ManyToManyField(Quiz, blank=True, ) - + category = models.ForeignKey(Category, blank=True, null=True, ) - - content = models.CharField(max_length=1000, - blank=False, + + 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', ) - - + + class Meta: verbose_name = "Question" verbose_name_plural = "Questions" @@ -33,20 +33,20 @@ class Question(models.Model): def __unicode__(self): return self.content - + class Answer(models.Model): question = models.ForeignKey(Question) - - content = models.CharField(max_length=1000, - blank=False, + + content = models.CharField(max_length=1000, + blank=False, help_text="Enter the answer text that you want displayed", ) - - correct = models.BooleanField(blank=False, + + correct = models.BooleanField(blank=False, default=False, help_text="Is this a correct answer?" ) - + def __unicode__(self): return self.content diff --git a/quiz/admin.py b/quiz/admin.py index de383b6..96f18b8 100644 --- a/quiz/admin.py +++ b/quiz/admin.py @@ -1,8 +1,8 @@ from django import forms from django.contrib import admin from django.contrib.admin.widgets import FilteredSelectMultiple -from django_quiz.quiz.models import Quiz, Category, Progress -from django_quiz.multichoice.models import Question, Answer +from quiz.models import Quiz, Category, Progress +from multichoice.models import Question, Answer class QuestionInline(admin.TabularInline): model = Question.quiz.through @@ -10,17 +10,17 @@ class QuestionInline(admin.TabularInline): class AnswerInline(admin.TabularInline): - model = Answer + model = Answer """ -below is from +below is from http://stackoverflow.com/questions/11657682/django-admin-interface-using-horizontal-filter-with-inline-manytomany-field """ class QuizAdminForm(forms.ModelForm): class Meta: model = Quiz - + questions = forms.ModelMultipleChoiceField( queryset=Question.objects.all(), required=False, @@ -28,12 +28,12 @@ class QuizAdminForm(forms.ModelForm): 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() - + def save(self, commit=True): quiz = super(QuizAdminForm, self).save(commit=False) if commit: @@ -45,13 +45,13 @@ class QuizAdminForm(forms.ModelForm): class QuizAdmin(admin.ModelAdmin): form = QuizAdminForm - + list_display = ('title', 'category', ) list_filter = ('category',) search_fields = ('description', 'category', ) - - + + class CategoryAdmin(admin.ModelAdmin): search_fields = ('category', ) @@ -59,14 +59,14 @@ class QuestionAdmin(admin.ModelAdmin): list_display = ('content', 'category', ) list_filter = ('category',) fields = ('content', 'category', 'quiz', 'explanation' ) - + search_fields = ('content', ) filter_horizontal = ('quiz',) - + inlines = [AnswerInline] - - + + class ProgressAdmin(admin.ModelAdmin): """ to do: