Что такое «правильный» способ обработки ошибок внутри пользовательской функции form_valid()?Django: Как правильно обрабатывать ошибку на пользовательском form_valid()
E.g. Я имею представление, которое оказывает этот метод 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, но как правильно реагировать в случае отказа метода?
На самом деле в моем случае правильная правильность ввода правильная. Но wodering, как реагировать, если $ action, основанный на действительном вводе, терпит неудачу. – frlan
На самом деле после игры вокруг это, кажется, хороший намек. Логика теперь делается на уровне модели в моем случае и вызывает исключение. – frlan