I have two models like this:
class User(models.Model): email = models.EmailField() class Report(models.Model): user = models.ForeignKey(User)
Use isnull.
users_without_reports = User.objects.filter(report__isnull=True) users_with_reports = User.objects.filter(report__isnull=False).distinct()
When you use isnull=False, the distinct() is required to prevent duplicate results.
isnull=False
distinct()