Django ImageField特定目录已满(linux目录中的最大文件数)

pgky5nke  于 2023-03-24  发布在  Go
关注(0)|答案(1)|浏览(117)

在拥有这个的同时:

profile_pic: ImageField = models.ImageField(
        _("profile_picture"), upload_to='profile_pic',
        blank=True, null=True)

和23M记录我发现profile_pic是“满”(“没有空间留在设备上”),而有300GB的自由。
我想到了将文件拆分到前三个字母为的文件夹,但我如何在django中实现这一点?

参考:
https://askubuntu.com/questions/1419651/mv-fails-with-no-space-left-on-device-when-the-destination-has-31-gb-of-space
https://pylessons.com/django-images

tkqqtvp1

tkqqtvp11#

问题是同一目录中的文件数量。您可以像这样更改upload_to选项,每个文件夹只会有一个文件。

def user_directory_path(instance, filename):
    # file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
    return 'user_{0}/{1}'.format(instance.user.id, filename)

class MyModel(models.Model):
    upload = models.ImageField(upload_to=user_directory_path)

相关问题