from django.db import models
from django.utils.translation import ugettext_lazy as _
class Category(models.Model):
title = models.CharField(max_length=64)
parent = models.ForeignKey('self', blank=True, null=True)
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('category')
verbose_name_plural = _('categories')
class Test(models.Model):
title = models.CharField(max_length=128)
description = models.TextField(blank=True)
category = models.ForeignKey(Category)
test_time = models.TimeField(default ='00:00:00')
question_time = models.TimeField(default ='00:00:00')
question_count = models.IntegerField()
question_random = models.BooleanField()
variant_random = models.BooleanField()
def total_questions(self):
return 1
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('test')
verbose_name_plural = _('tests')
class Question(models.Model):
title = models.TextField()
test = models.ManyToManyField(Test)
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('question')
verbose_name_plural = _('questions')
class Variant(models.Model):
title = models.TextField()
correct = models.BooleanField()
question = models.ForeignKey(Question)
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('variant')
verbose_name_plural = _('variants')
class TestUser(models.Model):
fullname = models.CharField(max_length=128)
group = models.CharField(max_length=32)
def __unicode__(self):
return "%s [%s]" % (self.fullname, self.group)
class Meta:
verbose_name = _('test user')
verbose_name_plural = _('test users')