我为我的项目模型创建了一个函数,其中有根据用户名和项目标题上传的图像。
现在我正在尝试向该项目添加更多图像并且图像有一个外键,但现在我不是随机创建将新图像上传到另一个文件夹,而是想将这些图像上传到与之前相同的文件夹先前根据相同的项目确定。
我试图改变之前的函数,但它返回了一个错误> 功能,但我不知道用什么替换它。
下面的函数将更具描述性:
以下是根据用户名和项目标题将图像上传到某个位置的模型和函数:
class Item(models.Model):
def upload_design_to(self, filename):
return f'{self.designer}/{self.title}/{filename}'
designer = models.ForeignKey(
User, on_delete=models.CASCADE)
title = models.CharField(max_length=100)
image = models.ImageField(blank=False, upload_to=upload_design_to)
现在我创建了一个新的图像模型来向该项目添加更多图像并希望将它们上传到同一个文件夹
class Images(models.Model):
def upload_design_to(filename):
return f'{Item.designer}/{Item.title}/{filename}'
item = models.ForeignKey(Item, on_delete=models.CASCADE)
name = models.CharField(max_length=50, blank=True)
image = models.ImageField(blank=True, upload_to=upload_design_to)
def __str__(self):
return self.name
最佳答案
不重复自己的解决方案是调用相关 Item
的 upload_design_to
class Images(models.Model):
def upload_design_to(self, filename):
return self.item.upload_design_to(filename)
item = models.ForeignKey(Item, on_delete=models.CASCADE)
name = models.CharField(max_length=50, blank=True)
image = models.ImageField(blank=False, upload_to=upload_design_to)
关于python - 创建一个函数来为上传的图像位置指定目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63144499/