Как дублировать вывод queryset
Когда тестовая строка удовлетворяет обоим условиям 1 и 2, есть ли способ вывести набор запросов дважды? Я искал много решений, но показан только метод distinct() дублирующихся наборов запросов, и нет способа вывести дублирующиеся наборы запросов более одного раза.
condition_1 = Student.objects.filter(Q(register_date__gte=from_date) & Q(register_date__lte=to_date))
condition_2 = Student.objects.filter(Q(eating_date__gte=from_date) & Q(eating_date__lte=to_date))
gap = ETC.objects.filter(Q(id__in=condition_1)) | Q(id__in=gap_condition_2))\
.annotate(total_gap=('create_date', filter=Q(id__in=condition_1.values('id')) +
'create_date', filter=Q(id__in=condition_2.values('id')))
Вы можете использовать union для объединения результатов двух наборов запросов, передать all=True
для разрешения дубликатов
all_students = condition_1.union(condition_2, all=True)