File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed
docs/topics/class-based-views Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -237,19 +237,24 @@ works for AJAX requests as well as 'normal' form POSTs::
237
237
return HttpResponse(data, **response_kwargs)
238
238
239
239
def form_invalid(self, form):
240
+ response = super(AjaxableResponseMixin, self).form_invalid(form)
240
241
if self.request.is_ajax():
241
242
return self.render_to_json_response(form.errors, status=400)
242
243
else:
243
- return super(AjaxableResponseMixin, self).form_invalid(form)
244
+ return response
244
245
245
246
def form_valid(self, form):
247
+ # We make sure to call the parent's form_valid() method because
248
+ # it might do some processing (in the case of CreateView, it will
249
+ # call form.save() for example).
250
+ response = super(AjaxableResponseMixin, self).form_valid(form)
246
251
if self.request.is_ajax():
247
252
data = {
248
- 'pk': form.instance .pk,
253
+ 'pk': self.object .pk,
249
254
}
250
255
return self.render_to_json_response(data)
251
256
else:
252
- return super(AjaxableResponseMixin, self).form_valid(form)
257
+ return response
253
258
254
259
class AuthorCreate(AjaxableResponseMixin, CreateView):
255
260
model = Author
You can’t perform that action at this time.
0 commit comments