Ich habe eine Liste von IDs für Objekte, die ich ergreifen muss, dann muss ich sie nach ihrem Zeitstempel sortieren. Hier ist, wie ich wollte, es tun:Django: Nehmen Sie eine Reihe von Objekten aus ID-Liste (und sortieren nach Zeitstempel)
For i in object_ids:
instance = Model.objects.get(id = i)
# Append instance to list of instances
#sort the instances list
Aber es gibt zwei Dinge, die mich stören:
- Gibt es keine Möglichkeit, eine Sammlung von Einträgen durch eine Liste ihrer IDs zu greifen - ohne schleifen?
- Kann ich beliebige Objekte basierend auf ihren IDs an das QuerySet anhängen?
Danke,
Was ist der beste Weg, um die zurückgegebenen Objekte in der gleichen Reihenfolge wie die Liste object_ids zu erhalten? Der OP Code? – Chris
Ich würde wahrscheinlich die Daten von der Datenbank mit nur einem Anruf (wie oben) abrufen und dann die Sortierung in Ihrem Code vornehmen. Sollte schneller sein als die Abfrage der Datenbank N-mal. Vor allem mit einem großen N. – kender
@kender @Chris Haben wir irgendeine Lösung für 'in der gleichen Reihenfolge wie die object_ids-Liste' statt nach dem Abrufen zu sortieren? – Dipak