Django prefetch_related для объединения "многие ко многим" не работает

У меня есть отношение "многие ко многим" к моделям.

Продукт может иметь множество изображений, и изображение может быть присвоено нескольким производствам.

это мой тип модели :

from django.db import models

class Image(models.Model):
    image_id = models.AutoField(primary_key=True)
    image_name = models.TextField(max_length=200)

class Product(models.Model):
    product_id = models.AutoField(primary_key=True)
    product_name = models.TextField(max_length=200)
    image = models.ManyToManyField(Image, related_name="image")

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

    def home(self):
        """Renders the home page."""
        assert isinstance(self, HttpRequest)
    
        all_product = Product.objects.prefetch_related('image').all()

 return render(
        self,
        'app/index.html',
        {
            'all_product': all_product
        }
    )

и в моем шаблоне, если я вызову модель следующим образом :

{% for each_model in all_product %}
   <label> {{each_model.product_id}}</label>
   <label> {{each_model.image.image_id}}</label>
{% endfor %}

отображаются только товары, а не объединенные значения из таблицы manyTomany.

{% for each_model in all_product %} 
    <label> {{each_model.product_id}}</label>
    {% for image in each_model.image %}
        {{ image.image_id }}
    {% endfor %}
{% endfor %}

Как я уже упоминал в своем комментарии. Вы должны выполнить цикл each_model.image, а затем обратиться к image_id

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