Недопустимое имя(я) поля, указанное в select_related: 'images'. Возможные варианты: user_changed, video, prices, attributes, apiconnections

models.py:

class ProductModel(models.Model):
    name = models.CharField(max_length=150, unique=True)
    type = models.CharField(max_length=100, blank=True)
    sku = models.CharField(max_length=100, unique=True)
    barcode = models.CharField(max_length=50, unique=True)
    description = models.TextField(blank=True)
    categories = models.ManyToManyField(CategoryModel, blank=True)
    video_url = models.CharField(max_length=190, blank=True)
    datetime_created = models.DateTimeField(auto_now_add=True)
    datetime_updated = models.DateTimeField(auto_now=True)
    user_changed = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)
    old_id = models.CharField(max_length=50, unique=True, blank=True, null=True, default="")
    
    def __str__(self):
        return self.name


class Images(models.Model):
    product_id = models.ForeignKey(ProductModel, db_index=True, on_delete=models.CASCADE, verbose_name='Товар')
    image = models.ImageField(upload_to="products/images/", blank=True, default="products/noimage.jpeg")
    image_small = models.ImageField(upload_to="products/images_small/", blank=True, default="products/noimage.jpeg")
    image_ori = models.ImageField(upload_to="products/images_ori/", blank=True, default="products/noimage.jpeg")
    default = models.BooleanField(default=False)

    def __str__(self):
        return self.product_id.name

class Video(models.Model):
    product_id = models.OneToOneField(ProductModel, db_index=True, on_delete=models.CASCADE)
    video = models.FileField(upload_to="products/videos/", blank=True)

    def __str__(self):
        return self.product_id.name

В файле views.py этот код работает идеально:

products = ProductModel.objects.all().select_related('prices', 'apiconnections', 'video').prefetch_related('categories')

В то время как эта выдает ошибку Invalid field name(s) given in select_related: 'images'. Варианты: user_changed, video, prices, attributes, apiconnections:

products2 = ProductModel.objects.all().select_related('images')

Я также пытался использовать prefetch_related, чтобы связать все мои изображения с товарами. Это не сработало.

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