Django: выбрать значения с максимальными временными метками или присоединиться к той же таблице

У меня есть простые модели Django

class Server(models.Model):
    name = models.CharField(max_length=120)

class ServerPropertie(models.Model):
    name = models.CharField(max_length=120)
    value = models.CharField(max_length=120)
    timestamp = models.DateTimeField()
    server = models.ForeignKey(Server)

Я хочу добавить метод get_properties в модель сервера, который будет возвращать все последние свойства для текущего сервера. Я имею в виду, что он должен возвращать имя и значение всех имен свойств для текущего сервера, и каждое имя свойства uniq должно иметь значение, в какой строке указана максимальная временная метка.

Я могу сделать это в сыром, жестко закодированном сыром SQL (я использую postgres):

SELECT t1.name, t1.value FROM environments_serverpropertie t1
JOIN (SELECT max("timestamp") "timestamp", name 
      FROM environments_serverpropertie
      group by name) t2 on t1.name = t2.name and t1.timestamp = t2.timestamp;

или в Python, но я считаю, что существует питоническое решение. Не могли бы вы мне помочь.

Ответы на вопрос(1)

Ваш ответ на вопрос