【发布时间】:2018-07-03 20:07:48
【问题描述】:
我正在尝试使用models.ImageField(upload_to=upload_location) 上传图片
def upload_location(instance,filename):
print("%s/%s"%(instance.id,filename))
return "%s/%s" %(instance.id,filename)
但它给予"GET /media/None/image_qacfEsv.jpg HTTP/1.1"
我尝试过使用 slug 字段,它运行良好,但 id 和 pk 都不起作用
我想使用 obj ID 来命名图像的文件夹,但它在 id 属性中给出 none
这是我的文件
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)
【问题讨论】:
-
保存对象前没有
pk。 -
那我现在该怎么办?
-
使用
pk以外的东西。
标签: python django database foreign-keys