Как получить id из функции в Django

hollo dears, I'm working on a project I have a problem with my code below, I can't get the subject_id from URL and save it in the Grade model, it gets None value.error is: Subject matching query does not exist.

Grade model: 

class Grade(models.Model):
id=models.AutoField(primary_key=True)
student= models.ForeignKey('Student', null=True,on_delete=models.PROTECT)
classwork= models.ForeignKey('ClassWork',on_delete=models.PROTECT)
section= models.ForeignKey('Section', null=True,on_delete=models.PROTECT)
subject= models.ForeignKey('Subject',null=True, on_delete=models.PROTECT)
grade = models.DecimalField(null=True, decimal_places=2, max_digits=2, default=0)
description = models.TextField(max_length=500, null=True)
assignment1=models.DecimalField(null=True, decimal_places=2, max_digits=2, default=0)
assignment2=models.DecimalField(null=True, decimal_places=2, max_digits=2, default=0)
assignment3=models.DecimalField(null=True, decimal_places=2, max_digits=2, default=0)

Views.py

    def newgrade(request, subject_id):
        # subject=Subject.objects.get(id=subject_id)
        classwork = ClassWork.objects.filter(teacher_id=request.user.id)
        student=Student.objects.filter(classwork__subject__id=subject_id)
        context = {
            "classwork": classwork,
            "student":student,
            "subject":subject,
        }
        return render(request, 'myapp/teacher_template/newgrade.html', context)
    
    def newgrade_save(request):
        if request.method != "POST":
            messages.error(request, "Invalid Method")
            return redirect('newgrade')
        else:
            subject_id = request.POST.get('subject')
            assignment1 = request.POST.get('assignment1')
            assignment2 = request.POST.get('assignment2')
            assignment3 = request.POST.get('assignment3')
            final = request.POST.get('final')
            sutudent_id= request.POST['student_select']

# ошибка здесь, я хочу получить значение subject_id из URL, и сохранить его Grade model subject_obj = Subject.objects.get(id=subject_id)

            # try:
                # Check if Students Result Already Exists or not
            check_exist = Grade.objects.filter(subject_id=subject_obj, student_id=student_obj).exists()
            if check_exist:
                grades = Grade.objects.get(subject_id=subject_obj, student_id=student_obj)
                grades.assignment1 = assignment1
                grades.assignment2 = assignment2
                grades.assignment3 = assignment3
                grades.final = final
                grades.grade= assignment1 + assignment2 + assignment3 + final
                
                grades.save()
                messages.success(request, "Result Updated Successfully!")
                return redirect('newgrade')
            else:
                result = Grade(student_id=student_obj, subject_id=subject_obj, assignment1=assignment1, assignment2=assignment2, assignment3=assignment3,final=final, grade=grade)
                result.save()
                messages.success(request, "Result Added Successfully!")
                return redirect('newgrade')
        # except:
            messages.error(request, "Failed to Add Result!")
            return redirect('newgrade')

  [1]: https://i.stack.imgur.com/zJuBJ.png
Вернуться на верх