Разбор GraphQL-запроса для поиска полей, чтобы иметь возможность prefetch_related?
При использовании DjangoListObjectType
из graphene_django_extras я могу определить пользовательское свойство qs
для SearchFilter
.
Функция qs имеет объект в качестве единственного аргумента, и через него я могу получить запрос и, в свою очередь, строку запроса, которая включает запрашиваемые поля.
Прежде чем создавать свой собственный парсер для получения этих полей, может быть, я иду по неправильному пути? Или есть что-то другое?
Идея заключается в довольно жестком подходе, поскольку у нас есть 7 типов пагинационных списков с полями, которые приводят к нескольким ненужным обращениям к базе данных, поэтому мы хотим осуществлять предварительную выборку нескольких полей.
В Graphene есть подход dataloader, который вроде бы выглядит правильным, но более сложным, чем просто префетчинг на стадии qs.
Сделайте self.author_id
вместо self.author.id
.