Как получить объекты одной модели, на которые нет ссылок из другой модели?
Есть модель 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 и фильтрации.