Junior — Senior
Updating feedback status via a deferred Celery task
livecode
Task condition
Check that the deferred call of the Celery task correctly changes the status field of the Feedback model immediately after its creation.
@app.task(name='change_status_feedback')
def change_status_feedback(fb):
fb.status = 'in_progress'
fb.save()
class CreateFeedbackAPIView(APIView):
def create(self, request):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
fb = Feedback.objects.create(**serializer.validated_data)
change_status_feedback.delay(fb)
return fb