Python 从django的manytomanyfield访问数据

Python 从django的manytomanyfield访问数据,python,django,django-models,Python,Django,Django Models,我试图从许多领域的模型中获取数据。我在许多领域有两个模型问题和测验。我试图访问特定测验规格的所有问题 我的模型在跟随。我的模型在跟随 class quiz_spec(models.Model): title=models.TextField() course = models.ForeignKey(Course) start_date = models.DateField() end_date = models.DateField() duration = mode

我试图从许多领域的模型中获取数据。我在许多领域有两个模型问题和测验。我试图访问特定测验规格的所有问题 我的模型在跟随。我的模型在跟随

class quiz_spec(models.Model):
   title=models.TextField()
   course = models.ForeignKey(Course)
   start_date = models.DateField()
   end_date = models.DateField()
   duration = models.IntegerField()
   credit=models.IntegerField()

 def __str__(self):
    return self.title 
问题模型是

class question(models.Model):
    CHOICES = (
    ('option 1','a'),
    ('option 2','b'),
    ('option 3','c'),
    ('option 4','d'),
  )
   statement = models.TextField()
   a = models.TextField()
   b = models.TextField()
   c = models.TextField()
   d = models.TextField()
   addedBY=models.ForeignKey(faculty_profile,null=True)
   ans = models.CharField(max_length=1,choices=CHOICES)
   category=models.TextField()
   extra_info=models.TextField()
   quizes = models.ManyToManyField(quiz_spec,blank=True,null=True)
   dateAdded = models.DateTimeField(auto_now=True); 
我的观点是

def quiz_confirm(request):
       quiz=quiz_spec.objects.get(id=request.session['quiz_id'])
       print request.session['quiz_id']
       print quiz
       try:
          questions=question.objects.all().filter(quizes=quiz)
       except Exception as e:
        print e
      print questions
     return render(request, 'quiz_confirm.html')

它正在给出[]输出。但是测验不是空的。

您是否尝试过查询以下问题:

questions = question.objects.filter(quizes__in=[quiz])
或者,您可以通过查询以下内容从测验侧获取问题:

questions = quiz.question_set.all()
这将返回所有与测验相关的问题。

您应该使用


questions=question.objects.filter(quizes\uu contains=quick)

您在quick对象中得到了什么?您确定请求对象包含“quick\u id”吗?