Django Model外键

时间:2016-02-11 06:21:33

标签: model

class Mcq_Question(models.Model):   
    question_text = models.CharField(max_length=200)
    def __str__(self):
        return self.question_text


class Mcq_Choice(models.Model):
    mcq_question = models.ForeignKey(Mcq_Question, blank=True, null=True, on_delete=models.CASCADE)
    mcq_choice_text = models.CharField(max_length=200)

    def __str__(self):
        return self.mcq_choice_text



class Mcq_Answer(models.Model):
    mcq_question = models.OneToOneField(Mcq_Question)
    mcq_choice = models.OneToOneField(Mcq_Choice)

    def __str__(self):      

        return str(self.mcq_question) + "    " + str(self.mcq_answer)

首先,我需要说我是django的新手 这里一个MCQ问题只有一个正确的mcq_choice答案,答案存储在Mcq_Answer模型中。 我的问题出在Mcq_Answer模型中: 问题的答案应该是问题的选择之一 如果我使用这个模型,那么在django管理面板中,我可以为mcq_question选择mcq_answer,我可以为mcq_question提供所有mcq_choice。 如果mcq_ques有4个选项,则mcq_anserwer_choice不能是除了这4个选项之外的任何东西。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以在选择时添加一个属性来标记正确的答案,这样您就不需要单独的答案类。