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...

Это работает, но вопрос к моим более опытным коллегам - правильный ли это подход, или есть какие-то серьезные риски, о которых я не знаю?

Вернуться на верх