Python3 compatible
[koed-quiz.git] / apps / quiz / models.py
index 92955fa..74142da 100644 (file)
@@ -1,13 +1,20 @@
+# -*- coding: utf-8 -*-
+# This file is part of KOED-Quiz, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
 from django.db import models
 from django.contrib.sites.models import Site
+from django.utils.encoding import python_2_unicode_compatible
 from django.utils.translation import ugettext_lazy as _
 
 from django.conf import settings
 
 
 class Quiz(Site):
+    description = models.TextField()
+    footer = models.TextField(null=True, blank=True)
+
     class Meta:
-        proxy=True
         verbose_name = _('quiz')
         verbose_name_plural = _('quizzes')
 
@@ -30,6 +37,7 @@ class Quiz(Site):
             return self.get_absolute_url()
 
 
+@python_2_unicode_compatible
 class Result(models.Model):
     quiz = models.ForeignKey(Quiz)
     slug = models.SlugField(db_index=True)
@@ -39,8 +47,9 @@ class Result(models.Model):
     class Meta:
         verbose_name = _('result')
         verbose_name_plural = _('results')
+        ordering = ['quiz', 'title']
 
-    def __unicode__(self):
+    def __str__(self):
         return self.title
 
     @models.permalink
@@ -48,6 +57,7 @@ class Result(models.Model):
         return ('quiz_result', [self.slug])
 
 
+@python_2_unicode_compatible
 class Question(models.Model):
     quiz = models.ForeignKey(Quiz)
     slug = models.SlugField(db_index=True)
@@ -62,7 +72,7 @@ class Question(models.Model):
         ordering = ['quiz', 'ordering']
         unique_together = [['quiz', 'slug'], ['quiz', 'ordering']]
 
-    def __unicode__(self):
+    def __str__(self):
         return self.title
 
     @models.permalink
@@ -77,7 +87,7 @@ class Question(models.Model):
             return self.quiz.where_to()
 
 
-
+@python_2_unicode_compatible
 class Answer(models.Model):
     title = models.CharField(max_length=255)
     question = models.ForeignKey(Question)
@@ -91,7 +101,7 @@ class Answer(models.Model):
         verbose_name_plural = _('answers')
         ordering = ['question', 'ordering']
 
-    def __unicode__(self):
+    def __str__(self):
         return self.title
 
     def where_to(self):