Django создает общую логику представления "createObject"
У меня есть приложение django с несколькими моделями и в основном грубым функционалом. Большинство моих представлений очень похожи, т.е., например, все функции ModelnameCreate имеют очень похожую структуру. Поэтому я решил сделать вспомогательную функцию: (вот пример вспомогательной функции для создания новых объектов)
def createFuncHelper(request, title_label , formClass , form_render , success_render , renderToViewWithId , success_message):
form = formClass()
if request.method=='POST':
form = formClass(request.POST, request.FILES)
if form.is_valid():
form.instance.updatedBy = request.user
newObject = form.save()
messages.success(request, success_message)
if(renderToViewWithId):
return redirect(success_render, id=newObject.pk)
else:
return redirect(success_render)
return render(request, form_render, {'form':form, 'title_label':title_label})
Который вызывается из моего каждого представления (для каждой модели), например:
def BookingCreate(request):
return createFuncHelper(request, etc...
Это работает, но вопрос к моим более опытным коллегам - правильный ли это подход, или есть какие-то серьезные риски, о которых я не знаю?