小编sal*_*999的帖子

如何在保存实例之前获取 django 模型实例的 pk

我正在尝试使用上传图像 models.ImageField(upload_to=upload_location)

def upload_location(instance,filename):
    print("%s/%s"%(instance.id,filename))
    return "%s/%s" %(instance.id,filename)
Run Code Online (Sandbox Code Playgroud)

但它给出了"GET /media/None/image_qacfEsv.jpg HTTP/1.1" 我尝试使用 slug 字段它工作正常但既不工作id也不pk工作我想使用 obj ID 来命名图像的文件夹,但它none在 id 属性中给出的是我的文件

    def upload_location(instance,filename):
    print("%s/%s"%(instance.id,filename))
    return "%s/%s"%(instance.id,filename)

class Post(models.Model):
    draft = models.BooleanField(default=False)
    publish = models.DateField(auto_now=False,auto_now_add=False)
    user = models.ForeignKey(settings.AUTH_USER_MODEL,default=1)
    slug = models.SlugField(unique=True)
    title = models.CharField(max_length=120)
    image = models.ImageField(upload_to=upload_location,
                          null=True,blank=True,
                          width_field="width_field",
                          height_field="height_field")
    height_field = models.IntegerField(default=0)
    width_field = models.IntegerField(default=0)
    content = models.TextField()
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

python database django foreign-keys

0
推荐指数
1
解决办法
2126
查看次数

标签 统计

database ×1

django ×1

foreign-keys ×1

python ×1