如何在 DRF 后端/管理面板中限制与 FK 相关的选择

问题描述

class Quiz(models.Model):
    name = models.CharField(max_length=200,default="",blank=False)
    questions_count = models.IntegerField(default="")
    description = models.TextField(max_length=10000,blank=False)
    created = models.DateTimeField(auto_Now_add=True,null=True,blank=True)
    slug = models.SlugField(max_length=200,unique=True,blank=False)
    roll_out = models.BooleanField(default=False)

    def __str__(self):
        return self.name


class Question(models.Model):
    quiz = models.ForeignKey(Quiz,on_delete=models.CASCADE,related_name='quiz')
    label = models.CharField(max_length=2000,default="")
    order = models.IntegerField(default="")

    def __str__(self):
        return self.label



class Answer(models.Model):
    question =models.ForeignKey(Question,default="")
    correct = models.BooleanField(default="")
    text = models.CharField(max_length=1000,default="")

    def __str__(self):
        return self.text


class QuizTaker(models.Model):
    quiz = models.ForeignKey(Quiz,default="")
    user = models.ForeignKey(User,default="")
    correct_answers = models.IntegerField(default=0)
    completed = models.BooleanField(default=False)
    timestamp = models.DateTimeField(auto_Now_add=True)
    score = models.FloatField()

    def __str__(self):
        return self.user.username



class Response(models.Model):
    quiztaker = models.ForeignKey(QuizTaker,default="")
    question = models.ForeignKey(Question,default="")
    answer = models.ForeignKey(Answer,)

    def __str__(self):
        return self.question.label

这些是我的模型,我一直在关注 Jay Coding 关于 yt 的教程。 我想限制与管理面板/模型中的问题相关的响应模型中的答案选择,以便可以选择与特定问题相关的答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)