Использование 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?

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