Выберите запрашиваемые поля из БД с помощью GraphQL и Graphene-Python - PullRequest
0 голосов
/ 25 марта 2019

Я создаю Python Flask-GraphQL API с использованием Graphene и бродил, если есть какие-либо общие решения для запроса только обязательных полей из БД в резольверах.

Допустим, есть запросбазовая информация о пользователе:

{
  users {
    id
    name
  }
}

И структура БД для сущности пользователя гораздо более сложна и «перегружена данными».Теперь очевидно, что нужно попытаться избежать получения всей пользовательской информации из БД, просто отфильтровав ее на стороне сервера и передавая клиенту только запрошенные идентификаторы и имена.

Хотя я уверен, что это распространенная проблемаЯ размышлял над тем, какие решения считаются оптимальными в этом случае (или даже возможно сделать универсальное решение, не привязанное к конкретной структуре данных, так как могут возникнуть некоторые дополнительные загрузки данных и объединение).

Очевидно, что это можно сделать вручную, получив запрашиваемые значения полей из информационного аргумента решателя.Кстати, я также в настоящее время не привязан к конкретной БД или провайдеру данных, как SQLAlchemy, так как я пытаюсь обернуть голову вокруг абстрактного варианта использования.Буду очень признателен за ваши мысли и опыт по этому вопросу.Либо абстрактный, либо с реальными поставщиками и базами данных.Спасибо.

...