django - Overriding save() method in Model. How to do this correctly? -
i try overriding save() method in model. how correctly?
import image tesseract import image_to_string class filemodel(models.model): user = models.foreignkey(user) base_file = models.filefield(upload_to="files") after_file = models.filefield(upload_to="file_ocr", blank=true, null=true) def save(self): after_file = image_to_string(image.open('base_file'), lang='en') after_file.save() super(filemodel, self).save()
if base_file
created need use image_to_string()
method , save result after_file
.
def save(self, *args, **kwargs): creating = self.pk none super(filemodel, self).save(*args, **kwargs) if creating: self.after_file = image_to_string(image.open('base_file'), lang='en') self.after_file.save()
or signals:
from django.db.models import signals django.dispatch import receiver @receiver(signals.post_save, sender=filemodel) def create_file(sender, instance, created, *args, **kwargs): if created: instance.after_file = image_to_string(image.open('base_file'), lang='en') instance.after_file.save()
Comments
Post a Comment