Фильтровать django QuerySet запросами из другого QuerySet: Возможно ли это?

Скажем, я создаю QuerySet типа:

q0  = Thing.objects.all()
fq0 = q0.filter(x=y)

в момент времени t0. Затем я добавляю несколько новых объектов в базу данных Thing. Эти вещи формируют QuerySet:

q1 = Thing.objects.filter(created_gt=t0)

Я хочу сгенерировать QuerySet:

fq = (q0 | q1).filter(x=y)

Без необходимости знать, что такое x или y. Другими словами, я хотел бы иметь возможность делать что-то вроде этого:

fq1 = q1.filter(query=fq0.query)
fq = fq0 | fq1

Возможно ли это? Ручная установка

q1.query = fq0.query

просто устанавливает q1 == fq0. Я видел, что некоторые люди спрашивали об извлечении sql из queryset, но это мне не очень поможет.

9
задан dmr parthenon 2 December 2011 в 03:22
поделиться