Django упорядочивание случайным образом при использовании объединения

У меня есть одно приложение Django, когда я делаю случайное упорядочивание, оно работает, используя order_by('?')

Но не работает, когда я применяю случайное упорядочивание к объединенному набору запросов.

queryset = (queryset.filter(city__istartswith=location).order_by('?')).
                    union(queryset.filter(Q(city__icontains=location) | 
                    Q(town__icontains=location) | 
                    Q(post_area__icontains=location) | 
                    Q(street__icontains=location) | 
                    Q(country__icontains=location) | 
                    Q(agency__operating_areas__icontains=location)).order_by('?'))

В моем случае, если я ищу с городом Хельсинки, то если он приходит в поле город, то его запись отображается первой, но в случайном порядке, другая запись также приходит из других полей, она также устанавливается в случайном порядке.

Например*: Поиск с городом "Хельсинки". Тогда есть четыре записи, в которых город агентства - "Хельсинки", тогда он будет всегда первым, но в случайном порядке все время, а для других записей - в случайном порядке.

[{
    "id": 1,
    "city": "Helsinki",
    "Name": "Abhishek",
},
{
    "id": 2,
    "city": "Helsinki",
    "Name": "Urvesh",
},

{
    "id": 3,
    "city": "Helsinki",
    "Name": "Dhruvil",
},

{
    "id": 4,
    "city": "Helsinki",
    "Name": "Akshat",
},
{
    "id": 5,
    "town": "Helsinki",
    "Name": "Akshat",
},
{
    "id": 6,
    "country": "Helsinki",
    "Name": "Akshat",
},
{
    "id": 7,
    "street": "Helsinki",
    "Name": "Akshat",
},
{
    "id": 8,
    "town": "Helsinki",
    "Name": "Akshat",
}]


Пожалуйста, помогите мне в этом, как я могу сделать случайный поиск в объединении, Пожалуйста, дайте мне лучшие решения относительно этого.

Заранее спасибо.

Вернуться на верх