Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso creare una tabella temporanea per ordinare la stessa colonna in base a due criteri utilizzando l'ORM di Django?

Credo che il left join possa aiutare in questa situazione. Il tuo obiettivo è ordinare le città entro l'ultimo punto PM.

Assumendo la chiave primaria della tua city table è city_id e una tabella separata chiamata city_pm detiene i punti PM e che hai due modelli City e City_Pm...

A tuo avviso:

cities = City.objects.all()

Nei tuoi modelli:

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

Nel tuo modello:

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