coordinate):
from app.models import User
sorted_query = sorted(qs.prefetch_related('usercoordinates'),
key=lambda a: get_distance(
coordinate,
(a.usercoordinates.latitude, a.usercoordinates.longitude)))
return User.objects.filter(id__in=[i.id for i in sorted_query])
в list(sorted_query) один порядок
в return User.objects.filter(id__in=[i.id for i in sorted_query]) другой.
может как-то правильно через annotate это сделать
https://stackoverflow.com/questions/7361243/django-in-query-lookup-doesnt-maintain-the-order-in-querset
Обсуждают сегодня