Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 如何在django视图中使用'commit=False'获取外键值?_Python_Django_Django Models_Django Views - Fatal编程技术网

Python 如何在django视图中使用'commit=False'获取外键值?

Python 如何在django视图中使用'commit=False'获取外键值?,python,django,django-models,django-views,Python,Django,Django Models,Django Views,观赏乐趣:- def save_all_form_at_once(request): if request.method == 'POST': form1 = StudentForm( request.POST, prefix="form1") form2 = GradeForm( request.POST, prefix="form2") form3 = SemesterForm( reque

观赏乐趣:-


def save_all_form_at_once(request):
    if request.method == 'POST':  
        form1 = StudentForm( request.POST, prefix="form1")
        form2 = GradeForm( request.POST, prefix="form2")
        form3 = SemesterForm( request.POST, prefix="form3")
        form4 = CourseForm( request.POST, prefix="form4")       
        if all([form1.is_valid() , form2.is_valid() , form3.is_valid() , form4.is_valid()]):
            form1.save()
dont know how to get following values
            # new_course = form4.save(commit=False)
            # new_course.student_id = form1.get("enroll_no")
            # new_course.save()
            # new_sem = form3.save(commit=False)
            # new_sem.student_id = form1.get("enroll_no")
            # new_sem.course_id = new_course.get("id")
            # new_sem.save()
            # new_grade = form2.save(commit=False)
            # new_grade.Sem_Info_id = new_sem.get("id")
            # new_grade.Student_Name_id = form1.get("enroll_no")
            # new_grade.Subject_Info_id = new_course.get("id")
            # new_grade.save()

    else:
        form1 = StudentForm(prefix="form1")
        form2 = GradeForm(prefix="form2")
        form3 = SemesterForm(prefix="form3")
        form4 = CourseForm(prefix="form4")
        
    return render(request, 'add.html', {'form1' : form1, 
                                         'form2' : form2,
                                         'form3' : form3,
                                         'form4' : form4 } )             
                        
            


这是我的models.py文件,您可以看到,我没有将
null=Flase
放在任何FK中,因为我需要它们放在我的数据库中。 如何获取所有这些FK值并将其保存到数据库中


class Grade(models.Model):
    id =                models.AutoField(primary_key=True)
    Student_Name =      models.ForeignKey(Student, on_delete=models.CASCADE)
    Subject_Info =      models.ForeignKey(Course, on_delete=models.CASCADE)
    Sem_Info =          models.ForeignKey(Semester, on_delete=models.CASCADE)   
    credit_th =         models.IntegerField(default=0)
    credit_pr =         models.IntegerField(default=0)
    marks_gain_th =     models.IntegerField(default=0)
    marks_gain_pr =     models.IntegerField(default=0)
    marks_gain_mt =     models.IntegerField(default=0)

    #calculated on database side
    total_marks =       models.IntegerField(default=0)  
    grade_point =       models.FloatField(default=0)  
    credit_point =      models.FloatField(default=0)
我需要所有FK值。而且不知道怎么做!如果我做错了,请纠正我