Как отфильтровать объекты, которые не имеют отношения к другой форме в 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)