Pregunta breve
¿Cuál es el orden predeterminado de una lista devuelta por una llamada de filtro Django cuando se conecta a una base de datos PostgreSQL?¿Cuál es el orden predeterminado de una lista devuelta por una llamada de filtro de Django?
Antecedentes
Por mi propia admisión, que tenía hizo una mala suposición en la capa de aplicación en el que el orden en el que se devuelve una lista será constante, es decir, sin el uso de 'order_by'. La lista de elementos que estaba consultando no está en orden alfabético ni en ninguna otra orden deliberada. Se pensó que permanecería en el mismo orden en que se agregaron a la base de datos.
Esta suposición se cumple para cientos de consultas, pero mi aplicación informó de un error cuando la orden cambió sin saberlo. Que yo sepa, ninguno de estos registros fue tocado durante este tiempo ya que soy la única persona que mantiene el DB. Para aumentar la confusión, al ejecutar la aplicación Django en Mac OS X, todavía funcionaba como se esperaba, pero en Win XP, cambió el orden. (Tenga en cuenta que los cientos de consultas mencionadas estaban en Win XP).
Cualquier información sobre esto sería útil ya que no pude encontrar nada en la documentación de Django o PostgreSQL que explicara las diferencias en los sistemas operativos.
Ejemplo de llamada
required_tests = Card_Test.objects.using(get_database()).filter(name__icontains=key)
EDITAR
Después de hablar con la actualidad de algunos de mis colega, que había llegado con la misma respuesta que Björn Lindqvist.
Mirando hacia atrás, definitivamente entiendo por qué esto se hace tan a menudo. Uno de los beneficios de utilizar un ORM Django, sqlalchemy, o lo que sea, es que puede escribir comandos sin tener que conocer o comprender (en detalle) la base de datos a la que está conectado. Es cierto que he sido uno de estos usuarios. Sin embargo, por el otro lado de esto es que sin conocer la base de datos en detalle los errores de depuración como este son bastante problemáticos y potencialmente catastróficos.
entrega firme agradable :) – kronosapiens