Для ответа без исключения
вы можете использовать вспомогательную функцию. что-то вроде этого.
def render_response(success, data=None, item=None, items=None, err_name=None,
err_message=None):
if success:
if data is not None:
return {
"success": True,
"data": data
}
elif item is not None:
return {
"success": True,
"data": {
"item": item
}
}
elif items is not None:
return {
"success": True,
"data": {
"items": items
}
}
else:
return {
"success": False,
"error": {
"name": err_name,
"message": err_message
}
}
и в своем выражении возврата для каждого ответа используйте: return Response(render_response(True, data=serializer.data), status= status.200_OK)
это даст
{
"success": true,
"data": {
...
}
}
, и это может быть вашим стандартом формат.