Итак, у меня есть 2 модели:
class Site(models.Model): ... ...
и еще один:
class SiteInfo(models.Model): ... ... site = models.ForeignKey(Site)
Есть ли способ получить сайты, которые не имеют записи в SiteInfo?
Site.objects.filter(siteinfo__isnull=True)
Существует общий способ найти список всех обратных связей модели.
reverse_model_array = [f.related_model for f in model._meta.get_fields() if f.auto_created and not f.concrete]
В этом списке будут перечислены все модели, имеющие отношение к этой модели (внешний ключ, ключ "многие ко многим" и т. Д.)
Я думаю, что это будет работать, но не так эффективно:
with_no_site_info = [сайт для сайта в Site.objects.all (), если site.site_infos_set.all (). Count () == 0]