Как отфильтровать объекты, которые не имеют отношения к другой форме в Django?

У меня есть два примера в приложении, построенном с использованием Django:

class User(models.Model):
    email = models.EmailField()

class Product(models.Model):
    user = models.ForeignKey(User)

Я хочу отфильтровать всех пользователей, у которых нет ни одного товара в магазине.

Как мне это сделать?

Это кажется самым простым:

user_ids_with_product = [product.user_id for product 
                         in Product.objects.all()]
Users.objects.exclude(id__in=user_ids_with_product)

Модель пользователя может получить доступ к объектам Product, для этой ситуации вы можете отфильтровать всех пользователей, у которых product_set равен null, User.objects.filter(product_set__isnull=True)

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