instance.idNone通过管理页面上传图像时返回。这个想法是将每个住宅的所有图像上传到不同的文件夹。这是我的代码:
模型.py
from django.db import models
import os
def get_image_path(instance, filename):
return os.path.join('photos', "residence_%s" % instance.id, filename)
# Create your models here.
class Residence(models.Model):
big_image = models.ImageField("Main Image",upload_to=get_image_path)
small_images = models.ImageField("Small Images",upload_to=get_image_path, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
设置.py
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)
编辑:如果我在添加模型后修改图像,它会起作用。
除非您实现自定义动态文件上传字段,否则您不能这样做。因为您尝试访问instance.id,但instance尚未保存并且没有id.
以下是一些可帮助您实现目标的资源: