gpt4 book ai didi

python - 具有使用通用关系的动态 upload_to 函数的 Django 图像模型

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:13 25 4
gpt4 key购买 nike

我正在创建一个图像模型,其他模型将通过通用关系使用它。例如,Newsposts 和 events 将有图像。下面是示例图像模型

class Image(models.Model):
description = models.CharField(max_length=500, null=True, blank=True)
image = models.ImageField(upload_to=get_storage_path)

content_type=models.ForeignKey(ContentType,on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey()

这会将图像仅存储在一个目录中。 但是问题是我不知道如何编写一个动态的 upload_to 函数来将图像存储在相应的目录中,例如 images/news/images/事件

最佳答案

upload_to 处理程序接受 two arguments实例文件名。您可以检查 instance 以找出对象关联的内容类型:

def get_storage_path(instance, filename):
# This is just an example - you'll need to use the right name
# depending on the model class.
if instance.content_type.model == 'news':
# Generate filename here
else:
# Generate different file name here

关于python - 具有使用通用关系的动态 upload_to 函数的 Django 图像模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com