Также важно, если вы хотите, чтобы объект Q был таким, чтобы вы могли восстановить сложный запрос, применив к нему другой объект Q, - если два набора QuerySets находятся в одной модели, вы можете ИЛИ наборы QuerySets напрямую для того же эффекта. Стоит попробовать и изучить SQL до и после.
Например:
qs1 = model.objects.filter(...)
print("qs1: {}".format(qs1.query)
qs2 = model.objects.filter(...)
print("qs2: {}".format(qs1.query)
qs = q1 | q2
print("qs: {}".format(qs.query)
Я определенно нашел ваш вопрос, потому что по этой причине я хотел получить объект Q из запроса и обнаружил в группе пользователей Django:
https://groups.google.com/d/msg/django-users/2BuFFMDL0VI/dIih2WRKAgAJ
что QuerySets можно комбинировать во многом так же, как это делают объекты Q.
Это может или не может быть полезным для вас, в зависимости от причины, по которой вы, конечно, хотите этот объект Q.