我对 Django REST FRAMEWORK 有疑问。class UserTest(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='usert', null=True, blank=True) question = models.ForeignKey(Question, related_name='userque', on_delete=models.CASCADE, null=True, blank=True) option = models.ForeignKey(Option, related_name='opt', on_delete=models.CASCADE, null=True, blank=True) def __str__(self): return self.user.username + ' - ' + self.question.question 这是我的 UserTest 模型。当用户进行测试时。用户将在下拉列表中看到所有问题以及所有选项。但我只想要用户选择哪个问题的选项。但现在我得到了所有的选择。class TestSerializer(serializers.ModelSerializer): question = serializers.SlugRelatedField(queryset=Question.objects.all(), slug_field='question') option = serializers.SlugRelatedField(queryset=Option.objects.all(), slug_field='option') class Meta: model = UserTest fields = ('question', 'option')这是我的测试序列化器。class Question(models.Model): lesson = models.ForeignKey(Lesson, related_name="lquestion", on_delete=models.CASCADE, null=True, blank=True) question = models.TextField() def __str__(self): return self.question这是我的问题模型class Option(models.Model): question = models.ForeignKey(Question, related_name='choices', on_delete=models.CASCADE) option = models.CharField(max_length=100) is_correct = models.BooleanField(default=False) def __str__(self): return self.option + ' - ' + self.question.question这是我的选择模型。我希望你能明白我想问的问题。当用户选择问题时。我只想在下拉列表中显示该问题的选项。提前致谢!
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
模型结构不正确。有。Test
_ questions
有. Questions
_options
option
在模型中移除,然后从模型中UserTest
移除。question
Option
我不知道lesson
是什么,在这里更有意义UserTest
,但我要离开它,因为我实际上不知道你的结构。
class Question(models.Model): lesson = models.ForeignKey(Lesson, related_name="lquestion", on_delete=models.CASCADE, null=True, blank=True) question = models.TextField() options = models.ManyToManyField(Option) def __str__(self): return self.question
您的Option
模型不应该有任何其他关系。
添加回答
举报
0/150
提交
取消