yam*_*han 0 python django django-models
这是我的models.py:
class Group_Photo(models.Model):
group_id = models.ForeignKey(Group)
photo = models.ImageField(upload_to="static/image/group/" + group_id + "/")
Run Code Online (Sandbox Code Playgroud)
我想将图像上传到一个组的目录.例如,如果group_id = 3,
upload_to="static/image/group/3/"
我应该怎么做?
对不起,这是错误.
文件"/models.py",第161行,在Group_Photo中photo = models.ImageField(upload_to ="static/image/group /"+ group_id +"/")TypeError:无法隐式地将'ForeignKey'对象转换为str
所述upload_to参数可以是一个函数,如文档中描述:
def group_based_upload_to(instance, filename):
return "image/group/{}/{}".format(instance.group.id, filename)
class Group_Photo(models.Model):
group = models.ForeignKey(Group)
photo = models.ImageField(upload_to=group_based_upload_to)
Run Code Online (Sandbox Code Playgroud)
该函数有两个参数 - 连接文件的模型实例和文件的原始名称.它必须返回一个相对路径,文件将被保存.它将附加到MEDIA_ROOT设置中定义的路径.
上面的示例使用基于组的数字ID的目录.您可以使用显然其他领域,例如使用蛞蝓(如果有的话),只需更换instance.group.id用instance.group.slug.
| 归档时间: |
|
| 查看次数: |
443 次 |
| 最近记录: |