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”吗?