Как перемешать поля объекта queryset - PullRequest
0 голосов
/ 02 июня 2019

Мне нужно сделать приложение для викторины на Django со случайными вопросами, модель для Вопроса приведена ниже. Я уже понял, как рандомизировать Вопросы в наборе запросов, но теперь мне нужно найти способ перемешать варианты вопроса в шаблоне, но я не могу понять это сам. Буду благодарен за любой совет

class Question(models.Model):
    question = models.CharField('Question text',max_length=250)
    test = models.ForeignKey(Test, on_delete=models.CASCADE)
    Option1 = models.CharField('answer 1',max_length=50)
    Option2 = models.CharField('answer 2',max_length=50)
    Option3 = models.CharField('answer 3',max_length=50)
    Option4 = models.CharField('answer 4',max_length=50)
    RightAnsw = models.IntegerField('Right answer nuber')
    mark = models.IntegerField('Points for right answer')

template.html

<form method="post">
    {% csrf_token %}
        {% for question in questions %}
            <p class="questiontext">Question {{ forloop.counter }}/{{ questions.count }}: {{ question.question }}</p>
            <p class="questionmark">Points:{{ question.mark }}</p>
            <p class="label">Choices:</p>
            <p class="option"><input type="radio" name="answer-{{ question.id }}" value="1">{{ question.Option1 }}</p>
            <p class="option"><input type="radio" name="answer-{{ question.id }}" value="2">{{ question.Option2 }}</p>
            <p class="option"><input type="radio" name="answer-{{ question.id }}" value="3">{{ question.Option3 }}</p>
            <p class="option"><input type="radio" name="answer-{{ question.id }}" value="4">{{ question.Option4 }}</p>
        {% endfor %}
        <button type="submit">End</button>
    </form>

1 Ответ

0 голосов
/ 02 июня 2019

Поместите их в список

foo = [ques1, ques2, ques3, ques4]
list_x = random.sample(foo, len(foo))
...