Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将实例传递给视图?_Python 3.x_Django_Django Views - Fatal编程技术网

Python 3.x 如何将实例传递给视图?

Python 3.x 如何将实例传递给视图?,python-3.x,django,django-views,Python 3.x,Django,Django Views,我无法理解系统正在恢复的抱怨。 这是系统的视图 def AddMarksView(request): class_name = request.session.get('class_name') subject = Subject.objects.filter(name='Maths') exam = Exam.objects.filter(name='Endterm') students = Students.objects.

我无法理解系统正在恢复的抱怨。 这是系统的视图

 def AddMarksView(request):
        class_name = request.session.get('class_name')
        subject = Subject.objects.filter(name='Maths')
        exam = Exam.objects.filter(name='Endterm')
        students =  Students.objects.filter(school=request.user.school,klass__name = class_name,stream__name='South')
        if request.method == 'POST':
            for student in students:
                marks = int(request.POST['marks'])
                marks_object = Marks.objects.create(student=student,marks=marks,subject=subject,exam=exam)
        else:
            return render(request,'feed_marks.html')
        return redirect('search_m')
返回的错误是

Cannot assign "<QuerySet [<Exam: Endterm>]>": "Marks.exam" must be a "Exam" instance.

如何格式化视图以使其不返回错误?

请尝试获取而不是筛选,以便代码读取

def AddMarksView(request):
        class_name = request.session.get('class_name')
        subject = Subject.objects.get(name='Maths')
        exam = Exam.objects.get(name='Endterm')
        students =  Students.objects.filter(school=request.user.school,klass__name = class_name,stream__name='South')
        if request.method == 'POST':
            for student in students:
                marks = int(request.POST['marks'])
                marks_object = Marks.objects.create(student=student,marks=marks,subject=subject,exam=exam)
        else:
            return render(request,'feed_marks.html')
        return redirect('search_m')

非常感谢@Ptar。它是那样工作的。。。
def AddMarksView(request):
        class_name = request.session.get('class_name')
        subject = Subject.objects.get(name='Maths')
        exam = Exam.objects.get(name='Endterm')
        students =  Students.objects.filter(school=request.user.school,klass__name = class_name,stream__name='South')
        if request.method == 'POST':
            for student in students:
                marks = int(request.POST['marks'])
                marks_object = Marks.objects.create(student=student,marks=marks,subject=subject,exam=exam)
        else:
            return render(request,'feed_marks.html')
        return redirect('search_m')