[英]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.