sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo creo una tabla temporal para ordenar la misma columna según dos criterios utilizando el ORM de Django?

Creo que la combinación izquierda puede ayudar en esta situación. Su objetivo es ordenar las ciudades por el último punto PM.

Suponiendo que la clave principal de su city la tabla es city_id, y una tabla separada llamada city_pm tiene los puntos PM, y que tienes dos modelos City y City_Pm...

En su opinión:

cities = City.objects.all()

En tus modelos:

class City(models.Model):
    # fields ...

    def get_latest_pm(self):
        try:
            return City_Pm.objects.filter(city_id=self.pk).order_by("-date")[:1].get()
        except:
            return None

En su plantilla:

{% for city in cities %}
    {{ city.get_latest_pm }}
{% endfor %}