ImageField上的动态自引用“upload_to”文件夹

时间:2016-01-28 02:23:13

标签: python django

我有一个这样的模型:

dtwclust

是否可以将'folder'设置为字段'red'的值?

我的目的是当用户上传图片时,它会自动存储在一个文件夹中,该文件夹中的某些字段与其名称相同。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

是的,upload_to也需要一个可调用的(例如一个函数):

def blue_upload_to(instance, filename):
    folder = instance.red.some_field
    return folder + os.sep + filename

class MyModel(models.Model):
    red = models.ForeignKey(Anothermodel)
    blue = models.ImageField(upload_to=blue_upload_to)

该文档提供了一些其他示例:https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.FileField.upload_to