Как получить объекты одной модели, на которые нет ссылок из другой модели?

Есть модель Art. Есть модель Good у которой есть ForeinKey на Art. Я хочу в одном запросе получить все объекты Art, на которые не указывают ни один Good. То есть все art у которых art.good_set.all() - пустой кверисет.

from django.db.models import OuterRef, Exists

Art.objects.filter(
    ~Exists(Good.objects.filter(art=OuterRef('pk')))
)

Документация по Exists и фильтрации.

Вернуться на верх