Django: seleccione valores con marcas de tiempo máximas o únase a la misma tabla

Tengo unos modelos Django simples.

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)

Quiero agregar el método get_properties al modelo de servidor, que devolverá todas las últimas propiedades para el servidor actual. Quiero decir que debe devolver el nombre y el valor de todos los nombres de propiedades para el servidor actual y cada nombre de propiedad uniq debe tener un valor, cuya fila tiene una marca de tiempo máxima.

Puedo hacerlo en SQL crudo en bruto codificado (uso 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;

o en python, pero creo que existe una solución pythonic. Me podría ayudar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta