всем доброго времени суток.
у меня имеется N групп вопросов по много штук:
class Group(models.Model):
name=models.TextField()
class Question(models.Model):
group=models.ForeignKey(Group)
text=models.TextField()
class Program(models.Model):
name=models.TextField()
norm_act=models.ManyToManyField(Group)
программа содержит несколько групп,
рандомом выбирается 10 вопросов
program = Program.objects.get(id=program_id)
x = Question.objects.filter(group__in = program.group.all())
question_list = random.sample(x, 10)
и дальше эти 10 вопросов планируется вывести на экран для ответов. Если я пихаю все вопросы разом на страницу и переключаюсь между ними посредством JS обновление страницы сбивает весь процесс (он начинается заново) - этот вариант не подошел. Если же хранить эти вопросы в базе данных что то вроде :
class Test(models.Model):
user=models.ForeignKey(User)
program = models.ForeignKey(Program)
class TestQuestion(models.Model):
test=models.ForeignKey(Test)
question=models.ForeignKey(Question)
получится нагромаждение ненужнных таблиц, так как после прохождения теста мне абсолютно не нужно хранить какие вопросы были в тесте, это нужно только для вывода на страницу ...
может быть есть какой то способ в модели Test хранить список question_list = random.sample(x, 10)
или как то еще его хранить те 10 страниц ... ? подкиньте идею
или может как то можно хранить то, как был переключен каждый input и какой класс был поставлен явой каждому элементу, и при обновлении страницы вывести в уже измененном виде
Updated 24 June 2016, 9:25 by Origin.