I am trying to store questions in a database.
I don't to set a fixed number of options for the question, some questions
could have 4 or 2 or 5.
Currently I am using a ManyToManyField to a table that just contains a
CharField.
This works but creating an option requires making another Choice object and
selecting that, also when you want to select a Choice that has already been
created you have to use that little box in the admin and it doesn't scale
when you have hundreds of options.
Even if I wanted to have 4 options every time what is the recommended way
without having four CharFields?
class Choice(models.Model):
choice = models.CharField(max_length=255)
def __unicode__(self):
return self.choice
#multiple choice questionclass Question(models.Model):
question = models.CharField(max_length=64)
answer = models.CharField(max_length=255)
choices = models.ManyToManyField(Choice, related_name='questions',
verbose_name='options')
module = models.ForeignKey('Module', related_name='questions')
times_correct = models.IntegerField(editable=False, default=0)
times_total = models.IntegerField(editable=False, default=0)
def _get_average(self):
"Returns the average in percent"
if self.times_total != 0:
return (self.times_correct / float(self.times_total))*100
return 0.0
average = property(_get_average)
def __unicode__(self):
return self.question
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.