【发布时间】:2015-02-19 17:15:10
【问题描述】:
在自定义 form_valid() 函数中处理错误的“正确”方法是什么?
例如我有一个定义了这个 form_valid() 方法的视图:
class StorageItemMergeView(FormView):
# ...
def form_valid(self, form):
si = StorageItem.objects.get(pk=self.kwargs["pk"])
si.part.merge_storage_items(si, StorageItem.objects.get(
pk=self.request.POST["storageitem1"]
)
)
return super(StorageItemMergeView, self).form_valid(form)
这种形式非常简单:
class MergeStorageItemsForm(forms.Form):
storageitem1 = forms.ModelChoiceField(queryset=StorageItem.objects.all())
事实上,用户可能会填写在调用 merge_storage_items() 时失败的语法正确数据。
在我的情况下,merge_storage_items() 能够返回 True 或 False ——但是在方法调用失败的情况下如何正确反应?
【问题讨论】:
标签: python django error-handling django-forms