【发布时间】:2015-08-17 14:02:15
【问题描述】:
我正在使用 django-extra-views 中的 ModelFormSetView,但无法保存 ModelFormSet 所基于的模型对象
class StudentEnrolInClassView(SuccessMessageMixin, ModelFormSetView):
model = StudentApplication
...
def formset_valid(self, formset):
for student_application in formset.cleaned_data:
if student_application['school_class']:
appl = student_application['id']
student = Student()
...
student.save()
enrolment = Enrolment(student=student, school_class=student_application['school_class'])
enrolment.save()
appl.approved = datetime.datetime.now()
appl.student = student
appl.save() # THIS ISN'T SAVING!
return super(StudentEnrolInClassView, self).formset_valid(formset)
新创建的学生和注册对象正确保存,但预先存在的(和更新的)应用程序不会保存,但不会引发任何错误或警告。我尝试使用以下方法从数据库中获取它的新实例:
appl = StudentApplication.objects.get(id=student_application['id'].id)
但这没有任何效果。
有什么想法吗?
【问题讨论】:
标签: django django-forms django-class-based-views formset