Прежде всего, я очень новичок в мире Django, может возникнуть аналогичный вопрос, однако я не нашел удовлетворительного ответа.Django: отфильтровать несколько полей от ответа json
Вот мой сценарий, у меня мало внешних конечных точек REST, которые я удалю из своего приложения Django и скажу 100-клавишный ответ JSON. Теперь, когда я пишу свой API в приложении Django, этот ответ мне придется обрезать и отправить в внешний мир. Скажем, например, Мой API является,
GET /api/profiles/1472
который даст профиль пользователя с идентификатором 1472. Теперь, этот API будет INTURN вызывать некоторые другие REST конечной точки и получить данные фактического профиля. Итак, в некотором смысле я пишу конечную точку прокси. Предполагается, что конечная точка прокси-сервера будет обрезать некоторые поля и вернуть их вызывающему абоненту.
Я не писал для этого классы моделей.
Каковы наилучшие способы достижения этого в Django?
Edit 1: вид образца будет так,
class GetCompetitorProductsView(APIView):
"""
Get Competitor products view
"""
def post(self, request, format=None):
# I'll be having a list of fields to be trimmed from response.
# It will be separate for every API.
data = request.data
error_checks = system_errors.check_for_competitor_products_input_error(data)
if not error_checks:
response = call_to_rest(data)
return Response(response)
else :
return Response(error_checks, status = status.HTTP_412_PRECONDITION_FAILED)
И еще одно, такое же поведение применяется ко всем другим API. Поэтому мне нужно больше общего решения, которое можно легко применить к другим API.
Вам не нужна модель для этого. Покажите нам свое видение –
@SardorbekImomaliev добавил образец. Как я уже упоминал, мне нужно более общее решение, которое можно легко применить к другим API. Имейте в виду, у меня будет список полей, подлежащих обрезке для каждого API. –