2016-12-18 4 views
0

У меня есть модель Django сЕсли я изменяю параметр ImageFIeld.upload_to, должен ли он перемещать ранее загруженные файлы при миграции?

... 
image = models.ImageField(default=None, upload_to=settings.PHOTO_UPLOAD_TO) 
... 

Я изменил значение settings.PHOTO_UPLOAD_TO, но файлы остаются, где они были, и запись базы данных также, кажется, не изменились. Недавно добавленное изображение помещается в правильное новое место, но не в старые. Это ожидаемое поведение? Есть ли способ переноса местоположений изображения? Я хотел бы немного изменить структуру каталога/URL моего проекта.

ответ

0

Траектория FileField/ImageField сохраняется относительно MEDIA_ROOT, так что если вы хотите, чтобы переместить файлы в новую папку upload_to, ты собираешься нужно положить, что в вашей миграции самостоятельно (как вы предложили).

+0

Вы имеете в виду, что мне нужно запрограммировать перемещение файлов и изменение записей базы данных в файле 'migrations/00xx_yyy.py'? – texnic

+0

Я бы сказал, что лучше отделить миграцию модели и миграцию данных. Вы можете создать пустую миграцию через './manage.py makemigrations youapp --empty' – Mounir

 Смежные вопросы

  • Нет связанных вопросов^_^