Нашёл в инете тестовое задание на 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