rockviewer/three_d_viewer/models.py

47 lines
1.3 KiB
Python
Raw Normal View History

2013-07-24 15:41:59 +10:00
from django.db import models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
active = models.BooleanField(default=True)
def __unicode__(self):
return self.name
class Meta:
abstract = True
class Category(CommonInfo):
parent = models.ForeignKey('self', blank=True, null=True,
2013-07-24 21:45:19 +10:00
on_delete=models.SET_NULL,
related_name='children')
2013-07-24 15:41:59 +10:00
class Sample(CommonInfo):
2013-07-24 20:31:29 +10:00
model_filename = models.CharField(max_length=1000)
2013-08-25 19:43:19 +10:00
description = models.CharField(max_length=2000, default='', blank=True,
null=True)
2013-07-24 15:41:59 +10:00
parent = models.ForeignKey(Category, blank=True, null=True,
on_delete=models.SET_NULL)
class Question(models.Model):
text = models.CharField(max_length=2000)
sample = models.ForeignKey(Sample, related_name='questions')
def correct_answers(self):
2013-08-25 19:43:19 +10:00
return self.answers.filter(correct=True)
def __unicode__(self):
return self.text
2013-08-25 19:43:19 +10:00
class Answer(models.Model):
text = models.CharField(max_length=2000)
correct = models.BooleanField(default=False)
question = models.ForeignKey(Question, related_name='answers')
2013-08-25 19:43:19 +10:00
def __unicode__(self):
return self.text