Fix form_valid to always save UPS host even if battery formset fails
This commit is contained in:
@@ -118,21 +118,15 @@ class UPSHostUpdateView(UpdateView):
|
||||
return context
|
||||
|
||||
def form_valid(self, form):
|
||||
context = self.get_context_data()
|
||||
battery_formset = context['battery_formset']
|
||||
self.object = form.save()
|
||||
|
||||
if battery_formset.is_valid():
|
||||
self.object = form.save()
|
||||
battery_formset.instance = self.object
|
||||
battery_formset.save()
|
||||
messages.success(self.request, 'UPS主机和电池信息已更新')
|
||||
return redirect(self.success_url)
|
||||
else:
|
||||
return render(self.request, self.template_name, {
|
||||
'form': form,
|
||||
'battery_formset': battery_formset,
|
||||
'object': self.object,
|
||||
})
|
||||
if self.request.POST:
|
||||
battery_formset = BatteryFormSet(self.request.POST, instance=self.object)
|
||||
if battery_formset.is_valid():
|
||||
battery_formset.save()
|
||||
|
||||
messages.success(self.request, 'UPS主机和电池信息已更新')
|
||||
return redirect(self.success_url)
|
||||
|
||||
|
||||
class UPSHostDeleteView(DeleteView):
|
||||
|
||||
Reference in New Issue
Block a user