У меня есть следующая таблица:
class AccountData(models.Model):
id = models.BigIntegerField(primary_key=True)
date = models.DateField()
last_update = models.DateTimeField()
account = models.ForeignKey('Account', models.DO_NOTHING, db_column='account', related_name="values")
value = models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, null=True)
Учитывая набор запросов / список идентификаторов (неизвестное количество, сколько идентификаторов может быть Нет / 0)
Есть ли способ получить последняя строка для каждой учетной записи, а затем сложите значение?
Часть, с которой я действительно борюсь, - это получение только последней строки для каждой учетной записи.
Я знаю, что могу получить учетные записи, которые в данном наборе запросов, выполнив:
accounts = [1, 4, 65]
AccountData.objects.filter(account__in=accounts)
Просто нужно выяснить, как я могу получить только те строки, где «дата» максимально приближена к «сейчас». Таким образом, получая уникальные строки (только 1 строка на аккаунт)