【发布时间】:2021-01-13 03:18:33
【问题描述】:
我正在尝试使用名称 Carl Park 自动填充我的表单学生字段。简而言之,我希望我的表单用于自动使用对象 ID,而不必从学生字段下拉菜单中手动选择名称 Carl Park。
如何自动将我的模型表单链接到外键 ID 并根据该值自动填充表单。
这是我当前的表单,我的 models.py forms.py views.py 和 HTML
#models
class Teacher(models.Model):
name = models.CharField(max_length=75)
room = models.CharField(max_length=10)
bio = models.TextField()
class Student(models.Model):
teacher = models.ForeignKey('Teacher', on_delete=models.CASCADE)
name = models.CharField(max_length=75)
class Student_Performance(models.Model):
student = models.ForeignKey('Student', on_delete=models.CASCADE)
behavior_grade = models.CharField(max_length=1)
#form
class StudentPerfromanceForm(ModelForm):
class Meta:
model = Student_Performance
fields = ( "name", "behavior_grade")
#view
def student_details(request, id):
obj = get_object_or_404(Student,pk=id)
form = StudentPerfromanceForm()
if request.method == 'POST':
form = StudentPerfromanceForm(request.POST)
if form.is_valid():
form.save(commit=True)
return all_students_list(request) #pass success message
return render(request, 'class_roster/student_details.html', {'obj':obj, 'reviewForm':form})
#HTML
<form method="POST">
{% csrf_token %}
{{reviewForm.as_p}}
<input type="submit" value="Submit Review">
</form>
【问题讨论】:
-
在您的链接中添加一个 get 参数,即当您单击某个学生详细信息的链接时,网址将类似于 student/1,其中 1 是学生的 pk 而不是 student/
标签: python django django-views django-forms