Джанго - Как преобразовать QuerySet в объект Q? - PullRequest
1 голос
/ 09 июля 2010

Есть ли способ преобразовать QuerySet в объект Q в django?

Моя конкретная мотивация: я хотел бы вычесть один QuerySet (qs_A) из другого QuerySet (qs_B).Единственный способ, о котором я могу думать, это использовать exclude () и объект Q, эквивалентный qs_A.

Пример:

def my_function(qs_A, qs_B):
    # Here I need to transform qs_A to a Q object q_obj_A
    qs_new = qs.exclude(q_obj_A)
    return qs_new

1 Ответ

5 голосов
/ 10 июля 2010

Вам не нужен объект Q. Просто исключите второй набор запросов:

qs = qs_a.exclude(id__in=qs_B)
...