MyNameIsDice
@MyNameIsDice

Каким образом стоит спроектировать БД в случае тестов?

Нашёл в инете тестовое задание на Django и решил попробовать его сделать, но вот одно не могу решить, это структура базы данных.
В бд будут хранится тесты. Количество вопросов в тестах, количество ответов и количество правильных ответов являются настраиваемыми.
У меня есть сомнения т.к не смог в доках полностью понять как этот ForeignKey работает. Ответы имеют при себе id вопроса к которому они привязаны, а вопрос же вроде не имеет id ответов которые привязаны к нему, от чего выходит что при запросе вопроса он будет шерстить всю бд ответов что бы найти все ответы с ним связанные. Я так понял. Пожалуйста поправьте если оказывается он не так устроен.
Вот и вопрос, а как лучше сделать то?
from django.db import models

# It needs to be reworked
class Tests(models.Model):
    test_name = models.CharField(max_length=40)
    test_description = models.CharField(max_length=200)

    def __str__(self):
        return self.test_name


class Questions(models.Model):
    test_id = models.ForeignKey(Tests, on_delete=models.CASCADE)
    question_text = models.CharField(max_length=200)

    def __str__(self):
        return self.question_text


class Answers(models.Model):
    question_id = models.ForeignKey(Questions, on_delete=models.CASCADE)
    answer_text = models.CharField(max_length=100)
    is_correct = models.BooleanField(default=False)

    def __str__(self):
        return self.answer_text
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы