Использование graphene-django для получения "max" из БД
Я разместил более подробный вопрос здесь
Как реализовать эквивалент SQL "max" с помощью graphql? Запрос должен возвращать объект из базы данных с максимальным значением в определенном столбце.
У меня есть таблица, в которой хранится температура с меткой времени, и я хотел бы использовать graphql для получения последней температуры. Мне сказали, что я могу использовать запрос такой формы:
query {
currentTemperature {
timestamp
value
}
}
Я также хотел бы получить минимальное и максимальное значение в промежутке времени с помощью запроса такой формы:
query {
temperatureStatistics(after: "2020-12-06T12:00:00+00:00", before: "2020-12-07T12:00:00+00:00") {
min
max
}
}
Основываясь на "currentTemperature" в приведенном выше примере запроса, кажется, что идея состоит в том, чтобы держать в Django объект, который хранит текущую температуру. Однако, кажется, что вы должны быть в состоянии просто сделать запрос к graphql, который даст вам текущий/последний объект. В конце концов, это довольно базовая функция запроса. Неужели graphql действительно не поддерживает что-то подобное?
Я пробовал такие вещи, как это из этого сообщения stackoverflow без успеха:
query {
table_name(limit: 1, order_by: {time: desc}) {
data
time
}
}
Где говорит мне:
{
"errors": [
{
"message": "Unknown argument \"limit\" on field \"table_name\" of type \"Query\".",
"locations": [
{
"line": 2,
"column": 15
}
]
},
{
"message": "Unknown argument \"order_by\" on field \"table_name\" of type \"Query\".",
"locations": [
{
"line": 2,
"column": 25
}
]
}
]
}
Я также просмотрел эту документацию по graphql, которая мне ничего не сказала.
Я должен реализовать это в файле schema.py с помощью resolver?