Dada una lista de ids/pks, me gustaría generar un QuerySet
de los objetos ordenados por el índice en la lista.Pedido personalizado Django QuerySet por ID
Normalmente me gustaría empezar con:
pk_list = [5, 9, 2, 14]
queryset = MyModel.objects.filter(pk__in=pk_list)
Por supuesto, esto devuelve los objetos, pero en el orden de los modelos de propiedad de ordenación del meta, y deseo de obtener los registros en el orden de los pk
s en pk_list
.
resultado El final tiene que ser unoQuerySet
objeto (no una lista), como deseo de pasar el QuerySet
ordenado campo ModelMultipleChoiceField
forma de Django.
A nivel db para MySQL y PostgreSQL: http://blog.mathieu-leplatre.info/django-create-a-queryset-from-a-list-preserving-order.html – Medorator