Различные результаты запросов для локального сервера и производственного сервера
Без изменения кода и обновления порядок отображения картинок на моем рабочем сервере (django,postgresql,bootstrap,nginx,uwsgi) изменился (см. рисунок).
Я не могу воспроизвести эту проблему на моем локальном сервере с тем же резервным копированием/кодом...
В Django ORM я имею такой результат:
- local:
Car.objects.filter(model=1)
<QuerySet [<CarImage: 1>, <CarImage: 2>, <CarImage: 3>]>
- production:
Car.objects.filter(model=1)
<QuerySet [<CarImage: 3>, <CarImage: 2>, <CarImage: 1>]>
Перезагрузка nginx/postgresql не помогла. Что могло произойти и как это исправить?
Упорядочение производится на уровне БД, поэтому если вы используете другой движок БД, результаты могут отличаться, для устранения проблемы просто сделайте это :
Car.objects.filter(model=1).order_by("pk")
или
Car.objects.filter(model=1).order_by("-pk")
Из документации :
если в запросе не указано упорядочение, результаты возвращаются из базы данных в неуказанном порядке. Определенный