Как "добавить" QuerySet в Django?

Я написал следующий код.

for number in numbers:
    booking_list = Booking.objects.filter(rooms=number)

Здесь numbers - список чисел.

Проблема с этим кодом в том, что booking_list будет содержать только набор запросов последнего номера, так как предыдущие наборы запросов будут перезаписаны, но я хочу, чтобы booking_list содержал все наборы запросов. Более того, я хочу, чтобы наборы запросов были уникальными. Другими словами, я хочу union наборов запросов.

Причина, по которой QuerySet может иметь повторяющиеся vaues, заключается в том, что rooms является списком чисел.

Вы можете использовать __in поиск с distinct() так:

booking_list = Booking.objects.filter(rooms__in=[i for i in numbers]).distinct("rooms")
Вернуться на верх