django-rest-framework - 如何在 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,default="",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,default="",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, on_delete=models.CASCADE,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, on_delete=models.CASCADE,default="")
user = models.ForeignKey(User, on_delete=models.CASCADE,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, on_delete=models.CASCADE,default="")
question = models.ForeignKey(Question, on_delete=models.CASCADE,default="")
answer = models.ForeignKey(Answer,on_delete=models.CASCADE,null=True,)
def __str__(self):
return self.question.label
这些是我的模型,我一直在关注 Jay Coding 的 yt 教程。我想限制与管理面板/模型中的问题相关的响应模型中的答案选择,以便可以选择与特定问题相关的答案。
解决方案
推荐阅读
- git - 我将未提交的更改带到另一个分支,现在我无法将它们移回
- javascript - 使用 Node JS 在控制台中打印重复的 JSON 数组
- macos - 用于在新窗口中打开视图的按钮 SwiftUI 5.3 for Mac OS X
- reactjs - npm run build 在本地反应应用程序上不起作用
- javascript - 当页面被重定向时,如何在正在加载的页面的 innerhtml 中使用 javascript 变量?
- amazon-web-services - 无法使用 AWS CLI 卸载 AWS EC2 实例上的 Cloudwatch 代理
- purescript - 如何使焦点组件在卤素中可组合
- c++ - 一个朋友缩写的模板函数——clang和gcc的区别
- java - Java/Spring 异步处理 Spring 批处理作业请求
- c# - 如果 WebClient.UploadValuesTaskAsync 已经在任务中,是否会在单独的线程上运行其任务?