def _postsave(self, validated_data, instance):
for field, value in validated_data.items():
# Optimize images with TinyPNG
if type(self.Meta.model._meta.get_field(field)) == models.models.ImageField:
value = getattr(instance, field)
filename = value.name
content = value.read()
if not content:
setattr(instance, field, None)
continue
image = shrinkImageFromData(content, filename, settings=getattr(self.Meta.model, 'tinypng_settings', {}).get(field, {}))
image.name = self.Meta.model._meta.get_field(field).upload_to(instance, filename)
setattr(instance, field, image)
return instance
评论列表
文章目录