В моем API поршня django я хочу выдать / вернуть HTTP-ответ клиенту перед вызовом другой функции, которая займет довольно много времени. Как сделать так, чтобы yield выдавал HTTP-ответ, содержащий желаемый JSON, а не строку, относящуюся к созданию объекта генератора?
Мой метод обработки поршня выглядит так:
def create(self, request):
data = request.data
*other operations......................*
incident.save()
response = rc.CREATED
response.content = {"id":str(incident.id)}
yield response
manage_incident(incident)
Вместо ответа, который я хочу, например:
{"id":"13"}
Клиент получает строку, подобную этой:
"<generator object create at 0x102c50050>"
EDIT:
Я понимаю, что использование yield было неправильным путем, в сущности, я пытаюсь добиться того, чтобы клиент получил ответ сразу, прежде чем сервер перейдет к дорогостоящей функции manage_incident ()