Получение количества объектов в объединенном наборе запросов

Я разработал представление Django, которое объединяет два набора запросов, используяchain; код ниже.

def sharedcategories_list(request):
    list = SharedCategories.objects.all()
    context = {"list": list}
    return render(request, "shared-categories/shared_categories_list.html", context)


def single_sharedcategory(request, slug):
    object = get_object_or_404(SharedCategories, slug=slug)
    wms = OGCLayer.objects.filter(categories=object)
    webgis = WebGISProject.objects.filter(categories=object)

    context = {
        "single_object": object,
        "objects": list(chain(wms, webgis)),
    }
    template = "shared-categories/single_shared_categories.html"
    return render(request, template, context)

В представлениях используются следующие модели:

class SharedCategories(CategoryBase):
    icon = models.ImageField(upload_to=settings.UPLOADED_IMAGE_FOLDER, blank=True, null=True)
    is_active = models.BooleanField(default=True)

    def get_absolute_url(self):
        return reverse("single-sharedcategory", kwargs={"slug": self.slug})


class OGCLayer(BaseModelPost, OpenLayersMapParameters):
    set_zindex = models.IntegerField(default=1)
    set_opacity = models.DecimalField(max_digits=3, decimal_places=2, default=1.0)
    ogc_layer_path = models.ForeignKey(GeoServerURL, related_name="related_geoserver_url", on_delete=models.PROTECT, blank=True, null=True)
    ogc_layer_name = models.CharField(max_length=100)
    ogc_layer_style = models.CharField(max_length=100, blank=True, null=True)
    ogc_bbox = models.CharField(max_length=250, blank=True, null=True)
    ogc_centroid = models.CharField(max_length=250, blank=True, null=True)
    ogc_legend = models.BooleanField(default=False)
    is_vector = models.BooleanField()
    is_raster = models.BooleanField()
    categories = models.ManyToManyField(SharedCategories, related_name="related_ogc_categories")

    def get_absolute_url(self):
        return reverse("ogc-single", kwargs={"slug": self.slug})


class WebGISProject(WebGISProjectBase):
    categories = models.ManyToManyField(SharedCategories, related_name="related_webgisproject_categories")
    basemap1 = models.ForeignKey(Basemap, on_delete=models.PROTECT, related_name="related_basemap1", blank=False, null=True)
    basemap2 = models.ForeignKey(Basemap, on_delete=models.PROTECT, related_name="related_basemap2", blank=True, null=True)
    basemap3 = models.ForeignKey(Basemap, on_delete=models.PROTECT, related_name="related_basemap3", blank=True, null=True)
    main_layer = models.ForeignKey(OGCLayer, on_delete=models.PROTECT, related_name="related_main_wmslayer")
    layers = models.ManyToManyField(OGCLayer, related_name="related_wmslayer", blank=True)

    def get_absolute_url(self):
        return reverse("map-single", kwargs={"slug": self.slug})

Мне нужно посмотреть в шаблоне, сколько объектов связано с list. Я знаю, что можно получить количество объектов для одной модели с помощью {{ wms.related_ogc_categories.count }}. Но как я могу сделать то же самое в моем случае?

Ниже показано, как я использую sharedcategories_list в шаблоне:

{% for item in list %}

  <div class="category-card">

    <div class="category-thumbnail">
      <img class="category-img" src="{{ item.icon.url }}" alt="{{ item.description }}">
    </div>
    <div class="category-info">
      <p>{{ item.title }} <br><span class="badge">{{ item|length }}</span></p>
    </div>

  </div>

{% endfor %}
Вернуться на верх