Django resto framework 3 dice usar algo como esto
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save(user=request.user) # Include the user when saving.
Ahora mi problema es que quiero arreglar los datos antes de este paso porque está en formato differnet según lo requiere el serializador.
Así que los datos están validados y no puedo llegar a este paso.
Quiero arreglar los datos antes de que llegue a esta etapa.
Es posible
Respuestas
1 para la respuesta № 1request.data contiene datos en bruto / no validados. Puede ser reescrito como
def create(self, request, *args, **kwargs):
# incoming data validation goes here
raw_data = request.data
fixed_data = process_data_function(raw_data)
serializer = self.get_serializer(data=fixed_data)
if serializer.is_valid(raise_exception=True):
serializer.save(user=request.user) # Include the user when saving.