簡體   English   中英

如何在LearnerQuestionAnswer模型上過濾查詢集?

[英]How to filter queryset on the LearnerQuestionAnswer Model?

我有一個名為測驗的模型。 每個測驗在模型Quiz_Question中都有一組相關問題。

測驗模型:-

class Quiz(models.Model):
    quiz_name = models.CharField(max_length=200)

測驗問題模型:

class Quiz_Question(models.Model):
    quiz = models.ForeignKey(Quiz, related_name='questions')
    text = models.CharField(max_length=200)

現在,我可以使用related_name屬性獲取特定測驗的所有問題,如下所示:

all_quizes = Quiz.objects.all()

一個特別的測驗:

quiz = all_quizes[0]

與本測驗有關的所有問題如下:-

all_related_questions = quiz.questions.all()

我有另一個模型作為LearnerQuestionAnswer,其中學習者是普通的Django用戶:-

class LearnerQuestionAnswer(models.Model):
    quiz_question = models.ForeignKey(Quiz_Question)
    learner = models.ForeignKey(User)

我可以在Quiz_Question模型上過濾出測驗和學習者特定的問題,如下所示:-

quiz = all_quizes[0]
learner= User.objects.get(id=1)
Quiz_Question.objects.filter(quiz=quiz, learnerquestionanswer__learner=learner)

我如何才能類似地在LearnerQuestionAnswer模型上進行過濾,以便像上述一樣獲得測驗和學習者特定的查詢集?

您可以使用quiz_question__quiz查找按測驗進行過濾。 使用以下查詢按測驗和學習者進行查詢:

quiz = all_quizes[0]
learner= User.objects.get(id=1)
LearnerQuestionAnswer.objects.filter(quiz_question__quiz=quiz, learner=learner)

檢查文檔的此部分有關按相關模型的字段進行過濾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM