Python 如何访问Django';中模型的外部集合元素;s获取上下文数据方法?

Python 如何访问Django';中模型的外部集合元素;s获取上下文数据方法?,python,django,generics,view,model,Python,Django,Generics,View,Model,我在Django 1.9.7中有一个通用的DetailView,它使用我的模型quick来显示一个超级省时的无麻烦视图(谢谢Django)。但是,我正在努力访问我的quick对象(一组QuizQuestion对象)上的相关外键集。我的模型如下: class QuizQuestion(models.Model): quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE) question = models.ForeignKey

我在Django 1.9.7中有一个通用的
DetailView
,它使用我的模型
quick
来显示一个超级省时的无麻烦视图(谢谢Django)。但是,我正在努力访问我的
quick
对象(一组
QuizQuestion
对象)上的相关外键集。我的模型如下:

class QuizQuestion(models.Model):
    quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE)
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    question_index = models.IntegerField()
    user_answer_text = models.CharField(max_length=1000)
    date_answered = models.DateTimeField(null=True)
    user_is_correct = models.NullBooleanField()

    def __str__(self):
        return self.user_answer_text
以下是我的看法:

class QuizDetail(generic.DetailView):
model = Quiz

def get_context_data(self, **kwargs):
    context = super(QuizDetail, self).get_context_data(**kwargs)

    # Pass/fail chart
    passed_questions = self.model.quizquestion_set.objects.filter(user_is_correct=True)

    # ...

    return context
这使我知道,“ReverseMayToneDescriptor”对象没有属性“objects”

我不确定尝试使用
\u set
获取相关对象是否比在长时间内快速移动并询问
QuizQuestion.objects.filter(…)
更可取,但我是在这样的基础上操作的。如果我错了,请纠正我:)

self.model.quizquestion\u set.filter(user\u is\u correct=True)
给出:“ReverseManyToOneDescriptor”对象没有属性“filter”

passed\u questions=self.model.quizquestion\u set.all()
gives“ReverseMayTooneDescriptor”对象没有属性“all”

另外,我发现很明显我对Django比较陌生-为任何愚蠢的错误道歉。

您指的是模型,您需要指的是实例(视图显示细节的对象),因为关系是实例而不是模型。您可以使用
self.get\u object()
获取实例:


请同时添加您的型号
def get_context_data(self, **kwargs):
    context = super(QuizDetail, self).get_context_data(**kwargs)
    obj = self.get_object()
    passed_questions = obj.quizquestion_set.filter(...)
    return context