Как получить все связанные объекты всех объектов в наборе 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
.