from random import sample
max_id = Products.objects.filter(draft=False).aggregate(max_id=Max("id"))['max_id']
result = []
n = 4
while len(result) < n:
# Если таблица разрежена на айдишники, то `- len(result)` стоит убрать
# для пессимистичной стратегии
ids = sample(range(max_id + 1), n - len(result))
result.extend(Products.objects.filter(draft=False, pk__in=ids))
result = result[:n]
sum(22 <= x <= 26 for x in temperatures)