将处理过的数据保存在Django模型中?

时间:2019-06-21 22:40:17

标签: python django

我正在一个项目中,用户上载照片,照片将在服务器上进行处理,然后放回并保存以作为某种比较显示。 这是我上传的图片的模型

class AnalysesImages(models.Model):
        user = models.ForeignKey(user,on_delete=models.CASCADE)
        image = models.ImageField(upload_to = user_directory_path ,
                                            verbose_name = 'Image')

我有为处理的数据(图像)创建另一个模型的想法,但是我应该如何检索它?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我想出了办法。如果使用相同的语言(在我的情况下是python)完成处理,则可以创建一个函数,在该函数中只需调用图像并对其进行处理,然后将其另存为模型中的另一个字段,例如:

   class AnalysesImages(models.Model):
     patient = models.ForeignKey(Patient,on_delete=models.CASCADE)
     pre_analysed = models.ImageField(upload_to = user_directory_path ,
                                            verbose_name = 'Image')
     analysed = models.ImageField(upload_to=analyses_directory_path,
                                            verbose_name='analysed Image')

# function for analysing the images
    def analyse_image(self):
        return self.pre_analysed

    def save(self, *args, **kwargs):
        self.analysed = self.analyse_image()
        super(AnalysesImages, self).save(*args, **kwargs)