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

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

java - Using an Integer ArrayList in Android -