我指的是youtube video,目的是了解如何使用ImageField上传图像。他解释了如何在保存图像时使用instance.id
。我试过了,但是instance.id
返回{
#models.py
import os
def get_image_path(instance, filename):
return os.path.join(str(instance.id), filename)
class AdProfile(models.Model):
name = models.CharField(max_length=100)
profile_image = models.ImageField(upload_to=get_image_path, blank=True, null=True)
每当文件被保存时,其保存为None/filename
。在
即使是这个link也说明了这一点。我使用的是django10.5和MySQL数据库。在
有什么问题吗?在
使用rajasimon的答案,有一个方法来处理模型中的所有
FileField
此外,我们可以使文件位置动态化,即不仅基于自身id,但也在外键的id上。只需迭代字段并检查路径是否已更改。在
^{pr2}$Django admin以某种方式调用了get_image_path函数,但没有将模型保存到数据库中,因此id为None。我们可以使用save方法重写django模型,并确保图像已保存,get_image_path获取id为的实例
相关问题 更多 >
编程相关推荐