你可以在
upload_to参数中使用callable 而不是使用自定义存储。请参阅docs,并注意那里的警告,即在调用函数时可能尚未设置主键(因为可能在将对象保存到数据库之前处理了上载),因此ID可能无法使用。你可能希望考虑在模型上使用其他字段,例如slug。例如:
import osdef get_upload_path(instance, filename): return os.path.join( "user_%d" % instance.owner.id, "car_%s" % instance.slug, filename)
然后:
photo = models.ImageField(upload_to=get_upload_path)



