Как в django выбрать предпоследнее значение ForeignKey?

Есть две модели первое устройство вторая счетчик, последнее значение счетчика получается вытащить из базы, подскажите как вытащить предпоследнее значение что бы можно было посчитать какой расход?
class Device(models.Model):
    name = models.CharField("Название", blank=True, max_length=150, default='')
    def get_sum(self):
        device_sum = Device.objects.get(name=self.name)
        sum_number = device_sum.sensor.aggregate(total_price=Max('number',))['total_price']
        return sum_number

class Sensor(models.Model):
    number = models.IntegerField(verbose_name='Счетчик', default=0)
    month = models.DateTimeField('Дата снятия счетчика', auto_now_add=True)
    device = models.ForeignKey(Device, on_delete=models.PROTECT, related_name='sensor')
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@twistfire92
Python backend developer
Навскидку
Sensor.objects.order_by("-month")[1]

А можно попробовать сразу и последний и предпоследний получить одним запросом. Сам не пробовал, но начать эксперименты можете вот с такого кода:
last, pre_last = Sensor.objects.order_by("-month")[:2]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы