好的,您必须在这里编写一些脚本。您可以在此处使用 django-extensions。https://github.com/django-extensions/django-extensions https://github.com/django-extensions/django-extensions您可以在您的项目中进行相同的设置
假设你的模型File
写个脚本吧migrate_media_files.py
import os
from django.conf import settings
from shutil import copyfile
def run():
base_dir = settings.BASE_DIR
media_dir = os.path.join(base_dir,'project_name/media')
for file in Files.objects.all():
old_file_path = os.path.join(media_dir, file.image.name)
dir_name = '/{}-{}/{}-{}/'.format(file.theme,file.name,file.id, file.name)
if not os.path.exists(os.path.join(media_dir, dir_name)):
os.makedirs(os.path.join(media_dir, dir_name))
new_file_name = '/{}-{}/{}-{}/{}-{}.txt'.format(file.theme,file.name,file.id, file.name, file.id, file.name)
new_file_path = os.path.join(media_dir, new_file_name)
copyfile(old_file_path, new_file_path)
file.image.url = new_file_name
file.save()
跑步 :
python manage.py runscript migrate_file
该脚本主要处理文件和对象。您可能需要更改和测试。一切顺利。