Django: wybierz wartości z maksymalnymi znacznikami czasu lub dołącz do tej samej tabeli

Mam proste modele 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)

Chcę dodać metodę get_properties do modelu serwera, która zwróci wszystkie ostatnie właściwości bieżącego serwera. To znaczy, że powinien zwracać nazwę i wartość wszystkich nazw właściwości dla bieżącego serwera, a każda nazwa właściwości uniq powinna mieć wartość, który wiersz ma maksymalny znacznik czasu.

Mogę to zrobić w surowym, surowo zapisanym SQL (używam 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;

lub w python, ale wierzę, że istnieje rozwiązanie pythonowe. Czy mógłbyś mi pomóc.

questionAnswers(1)

yourAnswerToTheQuestion