Коррекция размера загружаемого изображения перед сохранением через скрипт

суть вопроса такова, при сохранении через записи в БД через скрипт изображение не обрезается перед сохранением, хотя при создании записи через панель админа все работает как надо. Ниже приложен код скрипта, а так же модель. Что я делаю не так?

population_script.py

def populate():
articles = [
    {
        'title': 'Что помешало экипажу Crew Dragon выйти из корабля?',
        'text': 'Вчера, во время трансляции посадки американского космического корабля Crew Dragon, многие обратили внимание на заминку, которая возникла перед открытием бокового люка. Газоанализатор показал превышение концентрации тетраоксида азота — токсичного топливного компонента двигателей корабля. Астронавтам пришлось полчаса ждать чтобы химия выветрилась, а команда спасателей это время провела в противогазах.',
        'image': 'dragon_crew.jpeg'
    },
] 

def add_article(title, text, image):
    art = Article.objects.get_or_create(title=title, text=text, image=image)[0]
    art.save()

for art in articles:
    add_article(art['title'], art['text'], art['image'])


if __name__ == '__main__':
    print('Starting DevBlog population script')
    populate()

models.py

class Article(models.Model):
TITLE_MAX_LENGTH = 128
TEXT_MAX_LENGTH = 128

title = models.CharField(max_length=TITLE_MAX_LENGTH, blank=False, unique=True)
image = models.ImageField(blank=True)
text = models.CharField(max_length=TEXT_MAX_LENGTH, blank=False)
slug = models.SlugField(unique=True)

def save(self, *args, **kwargs):
    self.slug = slugify(self.title)
    super(Article, self).save(*args, **kwargs)

    img = Image.open(self.image.path)
    if img.width > 400 or img.height > 300:
        output_size = (400, 300)
        img.thumbnail(output_size)
        super(Article, self).save(*args, **kwargs)

def __str__(self):
    return self.title

Ответы (0 шт):