Мой подход должен был переопределить функцию отправки, таким образом, я могу установить переменную от использования данных тела QueryDict ()
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import QueryDict
from django.views.generic import View
class GenericView(View):
def dispatch(self, request, *args, **kwargs):
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
# if we have a request with potential body data utilize QueryDict()
if request.method.lower() in ['post', 'put', 'patch']:
self.request_body_data = {k: v[0] if len(v)==1 else v for k, v in QueryDict(request.body).lists()}
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)
class ObjectDetailView(LoginRequiredMixin, GenericView):
def put(self, request, object_id):
print("updating object", object_id)
print(self.request_body_data)
def patch(self, request, object_id):
print("updating object", object_id)
print(self.request_body_data)