我對 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 模型。當用戶進行測試時。用戶將在下拉列表中看到所有問題以及所有選項。但我只想要用戶選擇哪個問題的選項。但現(xiàn)在我得到了所有的選擇。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條經(jīng)驗 獲得超8個贊
模型結(jié)構(gòu)不正確。有。Test
_?questions
有.?Questions
_options
option
在模型中移除,然后從模型中UserTest
移除。question
Option
我不知道lesson
是什么,在這里更有意義UserTest
,但我要離開它,因為我實際上不知道你的結(jié)構(gòu)。
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
模型不應該有任何其他關(guān)系。
添加回答
舉報
0/150
提交
取消