Override save method - ImageFile object does not have '_committed' attribute

I override the save method as shown below and get_thumbnails and save using sorl.

But get the error 'ImageFile' object has no attribute '_committed'

 class HotelPhotos(models.Model): hotel = models.ForeignKey(Hotel, related_name='photos') code = models.CharField(max_length=255) original = models.ImageField(upload_to="media") medium = models.ImageField(upload_to="media", null=True, editable=False) thumbnail = models.ImageField(upload_to="media", null=True, editable=False) def save(self, *args, **kwargs): super(HotelPhotos, self).save(*args, **kwargs) self.medium = get_thumbnail(self.original, '100x100', crop='center', quality=99) self.thumbnail = get_thumbnail(self.original, '50x50', crop='center', quality=99) super(HotelPhotos, self).save(*args, **kwargs) 

Any ideas?

+6
source share
2 answers
 self.thumbnail = get_thumbnail(self.original, '50x50', crop='center', quality=99).url 

solved my problem ..

+7
source

I recently discovered a similar error that occurred while updating ImageField content using the django admin.

Error message: InMemoryUploadedFile object does not have attribute '_committed'

models.py:

 class MyObject(models.Model): name = models.CharField(max_length=80, unique=True, db_index=True) slug = models.SlugField(max_length=80, unique=True, blank=False) some_image = ImageField(upload_to='uploads/some/') # ... deleted for brevity 

This did not affect every model, I narrowed it down to this:

admin.py:

 class MyObjectAdmin(admin.ModelAdmin): # ... def queryset(self, request): return super(ShipAdmin, self).queryset(request).only('name', 'slug') 

The solution was to either change the set of administrator requests as follows:

admin.py:

 class MyObjectAdmin(admin.ModelAdmin): # ... def queryset(self, request): return super(MyObjectAdmin, self).queryset(request).only('name', 'slug', 'some_image') 

Or just completely get rid of it, since it is no longer needed / not needed.

0
source

Source: https://habr.com/ru/post/945064/


All Articles