Я хочу создать новую запись, используя django форму, но я застрял на ней, и я получаю такую ошибку
IntegrityError at /academy/add_academy/3/
null value in column "Student_name_id" violates not-null constraint
DETAIL: Failing row contains (39, da10, 2020-03-06, A, 11, 11, null).
Вот мой файл view.py
def add_academy(request,pk):
child = get_object_or_404(Child_detail, pk=pk)
academic = Academic.objects.filter(Student_name=child)
form=AcademicForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form=AcademicForm()
context = {
'academic':academic,
'child':child,
'form':form,
}
return render(request,'functionality/more/academy/add.html',context)
Также это мой файл form.py
class AcademicForm(forms.ModelForm):
class Meta:
model=Academic
fields='Class','Date','Average_grade','Overall_position','Total_number_in_class'
labels={
'Average_grade':'Average Grade',
'Overall_position':'Overall Position',
'Total_number_in_class':'Total Number In Class'
}
Date = forms.DateField(
widget=forms.TextInput(
attrs={'type': 'date'}
)
)
А вот мой файл шаблона
<div class="card">
<div class="card-header bg-primary text-white">
<h4>
<i class="fas fa-user-plus"></i> Enter {{child.Firstname}} {{child.Lastname}} details
</h4>
</div>
<div class="card-body">
<form action="" method="POST" autocomplete="on">
{% csrf_token %}
<div class="form-group">
{{form}}
<input type="submit" value="Save" class="btn btn-primary btn-block">
</form>
</div>
А вот мой файл model.py для деталей академии
class Academic(models.Model):
Student_name = models.ForeignKey(Child_detail,on_delete = models.CASCADE)
Class = models.CharField(max_length = 50)
Date = models.DateField()
Average_grade = models.CharField(max_length = 10)
Overall_position = models.IntegerField()
Total_number_in_class = models.IntegerField()
def __str__(self):
return str(self.Student_name)
Спасибо за помощь