Необходимо некоторое объяснение о подушке в django

У меня есть caroussel и я хочу, чтобы все мои изображения имели одинаковую высоту, для этого я использую это для сжатия изображения.

def compressImage(uploaded_image):
    image_temp = Image.open(uploaded_image)
    outputIoStream = BytesIO()
    image_temp.thumbnail((500,500))
    image_temp.save(outputIoStream , format='JPEG', quality=99)
    outputIoStream.seek(0)
    uploaded_image = InMemoryUploadedFile(outputIoStream,'ImageField', "%s.jpg" % uploaded_image.name.split('.')[0], 'image/jpeg', sys.getsizeof(outputIoStream), None)
    return uploaded_image
class RecognizePost(models.Model):
    name = models.ForeignKey(Post,on_delete=models.CASCADE)
    image = models.ImageField(upload_to='files', null=True, blank=True)

    def __str__(self):
        return self.pk

    def save(self, *args, **kwargs):
        if not self.pk:
            self.image = compressImage(self.image)
        super(RecognizePost, self).save(*args, **kwargs)

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

original image1 (735x739) after compress (498x500)
original image2 (880x612) after compress (500x347)

Почему я не получаю все 2 изображения с этим (500x500).Мне действительно нужно, чтобы высота была 500.Почему второе изображение имеет 347.Я что-то упускаю?

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