Tengo una lista de identificadores de los objetos que necesito tomar, luego tengo que ordenarlos por su marca de tiempo. Así es como yo iba a hacerlo:Django: tomar un conjunto de objetos de la lista de identificación (y ordenar por la marca de tiempo)
For i in object_ids:
instance = Model.objects.get(id = i)
# Append instance to list of instances
#sort the instances list
Pero hay dos cosas que me molestan:
- ¿No hay manera de agarrar una colección de entradas de una lista de sus documentos de identidad - sin tener hacer un bucle?
- ¿Puedo agregar objetos arbitrarios al QuerySet solo en función de sus ID?
Gracias,
¿Cuál es la mejor manera de obtener los objetos devueltos en el mismo orden que la lista object_ids? El código OPs? – Chris
Probablemente buscaré los datos de la base de datos con solo una llamada (como la anterior) y luego haré la clasificación en tu código. Debería ser más rápido que consultar la base de datos N veces. Especialmente con una gran N. – kender
@kender @Chris ¿Tenemos alguna solución para 'en el mismo orden que la lista object_ids' en lugar de ordenar después de ir a buscar? – Dipak