【发布时间】:2026-02-20 21:10:02
【问题描述】:
我有两个相互关联的模型,分别是 child 和 academy 模型,这意味着孩子可以有学术详细信息,然后我将孩子 ID 传递到模板中以编辑孩子的学术详细信息
这是学院模型
#ACADEMY MODEL
from child.models import Child_detail
class Academic(models.Model):
Student_name = models.ForeignKey(Child_detail,on_delete = models.CASCADE)
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)
这是子模型
#CHILD MODEL
from django.db import models
class Child_detail(models.Model):
Firstname = models.CharField(max_length = 50)
Lastname = models.CharField(max_length = 50)
Tribe = models.CharField(max_length = 50)
Current_Address = models.CharField(max_length = 50)
def __str__(self):
return self.Firstname
我想通过使用 django 表单到我传递孩子 ID 的模板来编辑孩子的学术详细信息
def edit(request,pk):
child=get_object_or_404(Child_detail,pk=pk)
form=AcademicForm(request.POST or None,instance=child)
if form.is_valid():
form.instance.Student_name=child
form.save()
return redirect('more',pk=pk)
context={
'form':form
}
return render(request,'functionality/more/academy/edit.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'}
)
)
这也是我传递子 ID 的模板
<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>
【问题讨论】:
-
您将
AcademicForm用于Child_detail模型? -
这不是重复的问题,先生
标签: python django django-models django-forms django-views