Разбор GraphQL-запроса для поиска полей, чтобы иметь возможность prefetch_related?

При использовании DjangoListObjectType из graphene_django_extras я могу определить пользовательское свойство qs для SearchFilter.

Функция qs имеет объект в качестве единственного аргумента, и через него я могу получить запрос и, в свою очередь, строку запроса, которая включает запрашиваемые поля.

Прежде чем создавать свой собственный парсер для получения этих полей, может быть, я иду по неправильному пути? Или есть что-то другое?

Идея заключается в довольно жестком подходе, поскольку у нас есть 7 типов пагинационных списков с полями, которые приводят к нескольким ненужным обращениям к базе данных, поэтому мы хотим осуществлять предварительную выборку нескольких полей.

В Graphene есть подход dataloader, который вроде бы выглядит правильным, но более сложным, чем просто префетчинг на стадии qs.

Сделайте self.author_id вместо self.author.id.

Вернуться на верх