Graphen-Django возможно ли фильтровать набор?
Недавно работаю с GraphQl и задаюсь вопросом, можно ли фильтровать набор в запросе? Я все еще новичок в проектировании баз данных, так что может быть проблема в этом. Итак, я выполняю следующий запрос, managerGwPicks имеет поле player, в котором находится объект player, содержащий имя игрока и т.д.
Объект игрока содержит набор всех сыгранных им недель, который является отдельной таблицей в моей базе данных.
Как видно на изображении выше, когда я отображаю набор, он показывает все данные игровой недели, тогда как в идеале я бы хотел, чтобы он был отфильтрован по параметру gameweek:21, переданному в запрос managerGwPicks.
Я не уверен, что это возможно, поскольку нет прямой связи между таблицами managerGwPicks и playergwstats, но я хотел бы быть уверенным, что мои мысли верны.
Моим решением для фронт-энда будет два запроса, один подобный тому, что у меня есть, для получения информации об игроке, и второй запрос, использующий идентификатор игрока и неделю игры, для запроса playergwstats, чтобы получить статистику игрока за отдельную неделю. Похоже ли это на разумный подход?
Спасибо
Предпочтительно избегать шаблонов запросов, в которых вам приходится выполнять несколько пересылок между клиентом и сервером. Если вы можете представить, что делаете ссылку на клиенте, то вы можете сделать это непосредственно на сервере. Если вы можете перейти от managerId
и gameweek
к списку игроков и можете перейти от игроков к playergwstats
, тогда вы можете создать соединение, которое переходит от ваших двух параметров ко всем соответствующим игрокам.
Я уже рассказывал о подобных паттернах в серии постов на GraphQL for SQL Developers - посмотрите на соединение, которое используется для перехода от ссылки на бронирование к серии билетов и рейсов.