1
每當我創建Cloth
型號與cloth_image
,圖像上傳到upload_location
。可以爲ImageField上傳位置的文件名是什麼?
我的問題是instance.id
返回None
,因爲該實例尚未創建。 什麼是ImageField的最佳上傳位置?
def upload_location(instance, filename):
new_id = instance.id
ext = filename.split('.')[-1]
return "clothes/%s/%s.%s" % (instance.user.id, new_id, ext) # <- Right Here!
class Cloth(models.Model):
cloth_image = models.ImageField(upload_to=upload_location,
null=True,
blank=True)
我正在使用AWS S3。
我喜歡這個主意。如果uuid.uuid4()生成以前的ID呢?他們是否將以前生成的ID存儲到某個地方?如果不是,它只是隨機整數,不是嗎? –
這是基於許多參數的綜合字段,你可以閱讀更多[uuid](https://docs.python.org/2/library/uuid.html) –
嗯..確切地說。我想爲圖像文件名生成REAL唯一ID。 :( –