【发布时间】:2014-08-15 21:39:16
【问题描述】:
我想以一种好的方式将多个 django 表单保存到数据库中,因为将这些表单保存在服务器上需要很长时间。 这些表格是相互关联的,所以我使用了一种“一张一张”的串行保存技术。 如何维护我的表单以快速保存到数据库。
表格代码:
employee_main=EmployeesForm(request.POST)
employee_administrative=EmployeesAdminstrativeForm(request.POST)
employee_stay=EmployeesStayForm(request.POST,request.FILES)
employee_dependents=EmployeesDependentsForm(request.POST,request.FILES,prefix="u")
employee_insurance=EmployeesInssuranceForm(request.POST,request.FILES)
employee_security=EmployeesSecurityForm(request.POST,request.FILES)
if employee_main.is_valid() and employee_administrative.is_valid() and employee_stay.is_valid() and employee_dependents.is_valid() and employee_insurance.is_valid() and employee_security.is_valid():
emp=employee_main.save(commit=False)
emp.save()
emp_ad=employee_administrative.save(commit=False)
emp_ad.employee_id=emp.id
emp_ad.save()
jobtitle_code=JobTitle.objects.get(id=emp_ad.jobtitle_id).Code
Employees.objects.filter(id=emp.id).update(Code=jobtitle_code +"-"+ str(emp_ad.employee_id+25))
Employees.objects.filter(id=emp_ad.moder_id).update(ismodeer=True)
emp_s=employee_stay.save(commit=False)
emp_s.employee_id=emp.id
emp_s.save()
emp_dd=employee_dependents.save(commit=False)
emp_dd.employee_id=emp.id
emp_dd.save()
emp_ss=employee_insurance.save(commit=False)
emp_ss.employee_id=emp.id
emp_ss.save()
from authentication.models import users
user=users(employee_id=emp.id,UserName=request.POST["UserName"],Password=request.POST["Password"],isadmin=0)
user.save()
return HttpResponseRedirect("/employees/all_employees/")
【问题讨论】:
标签: mysql database django forms