在提交表单时,无法直接从表单中获取外键值,因为外键值通常是由数据库生成的。解决这个问题的方法是在后端代码中处理表单提交,并将外键值添加到表单数据中。
以下是一个示例代码,演示如何在Django框架中处理表单提交并获取外键值:
from django.shortcuts import render, redirect
from .forms import YourForm
def your_view_function(request):
if request.method == 'POST':
form = YourForm(request.POST)
if form.is_valid():
# 获取外键值
foreign_key_value = form.cleaned_data['foreign_key']
# 处理其他表单字段
# ...
# 将外键值添加到表单数据中
form.cleaned_data['foreign_key'] = your_foreign_key_object
# 保存表单数据
# ...
return redirect('success')
else:
form = YourForm()
return render(request, 'your_template.html', {'form': form})
在这个示例中,我们使用Django框架的视图函数来处理表单提交。在POST请求中,我们首先验证表单数据,然后获取外键值并将其添加到cleaned_data
字典中。最后,我们可以根据需要将表单数据保存到数据库。
请注意,上述代码中的YourForm
表示您自己定义的表单类,您需要根据您的实际情况进行调整。
希望以上示例能帮助您解决问题!