我有一个功能可以处理用户上传的图像。我认为,输入该功能后,该功能将应用于上载的图像。
class UploadedImages(models.Model):
patient = models.ForeignKey(Patient,on_delete=models.CASCADE,related_name='images')
pre_analysed = models.FileField(upload_to = user_directory_path ,
verbose_name = 'Image')
class Processed(models.Model):
uploaded_image = models.ForeignKey(UploadedImages,on_delete=models.CASCADE,related_name='processed')
analysedimage = models.ImageField(upload_to=analyses_directory_path,
verbose_name='analysed Image', blank=True)
def AnalysedDetails(request,pk=None):
Uimage = get_object_or_404(models.UploadedImages,pk=pk)
analysed = models.Processed(uploaded_image=Uimage,analysedimage=main(Uimage.pre_analysed.path))
analysed.save()
return HttpResponse("OK")
但是当我检查管理页面以查看模型时,它仅保存上传的图像,而不保存已处理的图像,并且当我检查目录时,我发现仅保存了上传的图像字段。
我尝试过
analysed=models.Processed(uploaded_image=Uimage.pre_analysed,analysedimage=main(Uimage.pre_analysed.path))
但返回
无法分配“”: “ Processed.uploaded_image”必须是“ UploadedImages”实例
答案 0 :(得分:1)
使用.create()
创建简单的方法来创建新对象,
看看如何create object
所以应该是
analysed = models.Processed.objects.create(...)
如果使用这种方式,则不需要save()
方法