Как получить все связанные объекты всех объектов в наборе Queryset?

К сожалению, я не могу найти прямого ответа на этот вопрос, хотя есть несколько связанных вопросов.

Допустим, у нас есть:

class Category(models.Model):
    name = models.CharField(max_length=50)

class SubCategory(models.Model):
    name = models.CharField(max_length=50)
    category = models.ForeignKey(Category,on_delete=CASCADE, blank=True, null=True, related_name='subcategories')

Я знаю, что могу получить все подкатегории определенной категории путем some_category.subcategories.all()

Но как мне получить кверисет всех подкатегорий всех категорий в кверисете ?

Вы можете получить все Subcategory, которые связаны с коллекцией Category с помощью:

Subcategory.objects.filter(category__in=mycategories)

Здесь мы используем __in поиск [Django-doc] для получения только тех Subcategory, для которых категория находится в mycategories.

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