sql >> Base de Datos >  >> RDS >> PostgreSQL

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

si está utilizando PostgreSQL, la sintaxis habitual para eso es:

select distinct on (name)
    name, value
from environments_serverpropertie
where server = ...
order by name, timestamp desc

De Documentación de PostgreSQL :

Puede verlo y probarlo en sql fiddle demo .

Es posible traducir esta sintaxis a django, desde documentación de django :

Así que en django será algo como:

ServerPropertie.objects.filter(...).order_by('name', '-timestamp').distinct('name')